【lua】迭代器/闭包

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(“执行按钮的操作”)
}
]]–

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值