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