-- 生成函数, 返回一个显示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