Moe*_*Moe 9 lambda lua anonymous-function
我不确定如何标题,但请考虑以下lua代码:
print(function ()
s = ""
for i = 1, 10 do
s = s..tostring(i)
end
return s
end)
Run Code Online (Sandbox Code Playgroud)
但是这只打印了函数地址,因为function()返回一个闭包.有没有办法评估匿名函数?就像我可以在附加括号中使用lambda的方案一样?
((lambda ()(display "Hello World")))
Run Code Online (Sandbox Code Playgroud)
当然我知道,我可以事先定义函数并稍后调用它,但我很好奇是否可以在lua中使用它.提前致谢所有回复.
ddk*_*ddk 14
您需要将函数定义包装在括号中,然后通过添加()
after来调用它.把它放在Lua解释器中:
> print((function ()
s=""
for i=1,10 do
s=s..tostring(i)
end
return s
end)())
Run Code Online (Sandbox Code Playgroud)
给出以下输出
> 12345678910
Run Code Online (Sandbox Code Playgroud)