今天我正在使用 lua 进行一些工作,使用对我来说是“oldesh”的语言,并且确实找到了可以将参数作为数组获取的内容,例如 soo:
function foo(someting,...)
local arrayofargs = arg
-- code here
end
现在,我很感兴趣。可以用“其他方式”吗?您可以传递数组吗?不是作为数组,而是像参数列表一样传递,如下所示:
function bar(a1,a2)
print(a1+a1)
end
function foo(someting,...)
local arrayofargs = arg
bar(arg)
end
是的,你不能那样做。但是我可以做类似的东西吗?
如果你谈论的是旧版本的 Lua 给出了一个自动的事实arg
包含 vararg 函数接收的所有参数,那么你可以这样做local arg={...}
就在函数的开头。
如果要将数组转换为列表,请使用table.unpack
.
所以,你的例子是
function foo(someting,...)
local arg={...}
bar(table.unpack(arg))
end
但这没有多大意义,因为你可以这样做,这样更清晰、更简单:
function foo(someting,...)
bar(...)
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)