是否可以在Lua中模拟绑定?

给定带有一个参数的lua函数,是否可以将此参数绑定到固定值以获取不带参数的函数?

更一般地说,如何将lua函数的某些输入参数绑定到某些值?

解决方法

是的,这可以在几乎任何具有一流值功能的语言中完成.
function f1(a)
   return a+1
end

function bind(a)
   return function() return f1(a) end
end

local f2 = bind(42)
print(f2())
-- 43

此特定示例适用于特定函数和参数数量,但可以轻松扩展为采用任意函数/参数.

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...