lua - 数组作为参数列表lua

标签 lua arguments lua-table

今天我正在使用 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 函数接收到的所有 args,那么你可以做 local arg={...}就在函数的开头。

如果要将数组转换为列表,请使用 table.unpack .

所以,你的例子是

function foo(someting,...)
    local arg={...}
    bar(table.unpack(arg))
end

但这没有多大意义,因为您可以这样做,这更清晰,更简单:
function foo(someting,...)
    bar(...)
end

关于lua - 数组作为参数列表lua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22308179/

相关文章:

lua - corona sdk线速度慢?

c - 为什么 int (*p)[] 不能用作 C 函数的参数?

c - 使用 Lua C API 遍历表的表

lua - 将元素的频率计入Lua中的数组

C&Lua : luaL_dostring return value

mysql - 将记录的查询存储到 mysql 客户端

c - Lua C API : Stack empty after pcall error

java - 非法参数异常 : n must be positive

javascript - 使用 this.argu 存储参数是一种好习惯吗?

string - 如何将字符串和/或数字分成数组?