Lua闭包(closure)示例

时间:2014-04-02 23:28:33   收藏:0   阅读:541

-- 生成函数, 返回一个显示n次c字符的closure
function rep_char(c, n)
  -- 特别注意这个 local 否则fun就是global, 后面的递归就错了.
  local function fun()
    if n > 0 then
	  print (c);
	  -- 递归显示
	  n = n-1;
	  fun();
    end
  end


  return fun;
end


-- 生成两个closure
f1 = rep_char("A", 3);
f2 = rep_char("B", 5);


-- 调用
f1();
f2();


Lua闭包(closure)示例,布布扣,bubuko.com

原文:http://blog.csdn.net/iicup/article/details/22813987

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!