Lua返回一个Closures函数实例
程序员文章站
2022-07-05 11:03:57
复制代码 代码如下:
do
function button(x)
print("call button");
&nb...
复制代码 代码如下:
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
推荐阅读
-
javascript原生封装一个淡入淡出效果的函数测试实例代码
-
js代码延迟一定时间后执行一个函数的实例
-
Sql Server函数的操作实例(执行多条语句,返回Select查询后的临时表)
-
js代码延迟一定时间后执行一个函数的实例
-
MSSQL一个关于Count函数的小实例
-
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
-
JS中实现函数return多个返回值的实例
-
PowerShell函数指定返回值类型实例
-
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
-
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值