–lua迭代器
–泛型for迭代器
–泛型for在自己内部保存迭代函数,实际上保存三个值:迭代函数,状态常量,控制变量
–for k,v in pairs(tab) do
– print(k,v)
–end
–for i=1,10,1 do
– print(i)
–end
–1.初始化,计算in后面表达式的值,表达式应该返回泛型for需要的三个
–值,迭代函数,状态常量,控制变量
–2.将状态常量和控制变量作为参数调用迭代函数(注意:对于for循环结构
–状态常量没有用处,仅仅在初始化时获取他的值并传递给迭代函数)
–3.将迭代函数返回的值赋值给变量列表
–4.如果返回的第一个值为nil循环结束,否则执行循环体
–5.回到第二步再次调用迭代函数
–闭包
–一个函数内嵌套另一个函数,内部函数可以访问外部函数的局部变量
array={“baidu”,“google”,“sougou”}
function elementIterator( collection)
local index = 0
local count = #collection
return function ()
index=index+1
if index <= count then
return collection[index]
end
end
end
for element in elementIterator(array) do
print(element)
end
–回调函数
–[[
void Start()
{
button.onclick.addlistener(buttonOnclick)
}
private void buttonOnclick()
{
debug.log(“执行按钮的操作”)
}
]]–