【发布时间】:2017-07-11 11:14:10
【问题描述】:
有没有办法将元组作为 Lua 函数的参数传递?
例如,我有一个返回多个值的函数
function f(a,b) return b,a end
我希望这个函数f被重复应用,所以我可以写:
f (f ... f(1,2))
但是如果我需要将这个初始元组 (1,2) 存储为变量 init 怎么办?
f (f ... f(init))
有支持吗?
根据this answer,似乎python 有它与splat 运算符*。
【问题讨论】:
-
"所以我可以写" 这不是有效的 Lua。
f ... f不是合法的 Lua 语法。所以我不明白你想要什么。 -
This page 可以帮助你。
-
@NicolBolas 你可以写例如
f( f (1,2)), f (f ( f(1,2) ) )等,适用于f的任意数量的应用程序。这就是我对...和repeatedly apply的意思。 -
我想你想要我过去写的这段代码:hawwashsoft.proboards.com/thread/187/varargmodule