-- 生成函数, 返回一个显示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)示例
最新推荐文章于 2019-10-22 16:04:00 发布