Lua返回一个Closures函数实例

发布时间:2022-04-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Lua返回一个Closures函数实例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

复制代码 代码如下:

do
 function Button(x)
  PRint("Call Button");
  x.action();
  print(x.label);
 end

 function add_to_display(digIT)
  print("Call add_to_display");
  print(digit);
 end

 function digitButton(digit)
  return Button{//return a table and the function(Button), it means that the Button receives the param(the table{...})
      label = tostring(digit),
      action = function()
         print("digit: ", digit);
         add_to_display(digit);
         end
       }

 end

 local fun = digitButton(3);

end

写个简单的迭代器:

复制代码 代码如下:

do
 t_ = {9, 2, 3, 4};

 function values(t)
  local i = 0;
  return function()
     i = i + 1;
     return t[i];
    end
 end

 iter = values(t_);

 while true do
  local element = iter();
  if element == nil then
   break;
  end

  print(element);
 end

end

脚本宝典总结

以上是脚本宝典为你收集整理的Lua返回一个Closures函数实例全部内容,希望文章能够帮你解决Lua返回一个Closures函数实例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。