Lua中如何将表用作varargs,实现长尾参数传递?
- 内容介绍
- 文章标签
- 相关推荐
本文共计262个文字,预计阅读时间需要2分钟。
pythonstrjoin 接受一个字符串和一个可变数量的参数。然后,它将所有参数连接成一个字符串,并返回这个字符串。我正在寻找一种方法来获取所有可变数量参数的表,并使用表中的每个项作为另一个参数。+local myTable={'a', 'b', 'c'}+ This is what I want
strjoin接受一个字符串,然后接受可变数量的参数.我正在寻找一种方法来获取具有可变数量的参数的表,并使用表中的每个项作为另一个参数.local myTable = { 'a', 'b', 'c', } -- This is what I want except that I don't want to hard code -- a specific number of parameters local myString = strjoin(' ', myTable[1], myTable[2], myTable[3]) 使用 unpack功能:
local myString = strjoin(' ', unpack(myTable))
较新版本的Lua放置了unpack function in the table module:
local myString = strjoin(' ', table.unpack(myTable))
这不能直接回答你的问题,但正如lhf所指出的,以下效率要高得多:
local myString = table.concat(myTable, ' ')
本文共计262个文字,预计阅读时间需要2分钟。
pythonstrjoin 接受一个字符串和一个可变数量的参数。然后,它将所有参数连接成一个字符串,并返回这个字符串。我正在寻找一种方法来获取所有可变数量参数的表,并使用表中的每个项作为另一个参数。+local myTable={'a', 'b', 'c'}+ This is what I want
strjoin接受一个字符串,然后接受可变数量的参数.我正在寻找一种方法来获取具有可变数量的参数的表,并使用表中的每个项作为另一个参数.local myTable = { 'a', 'b', 'c', } -- This is what I want except that I don't want to hard code -- a specific number of parameters local myString = strjoin(' ', myTable[1], myTable[2], myTable[3]) 使用 unpack功能:
local myString = strjoin(' ', unpack(myTable))
较新版本的Lua放置了unpack function in the table module:
local myString = strjoin(' ', table.unpack(myTable))
这不能直接回答你的问题,但正如lhf所指出的,以下效率要高得多:
local myString = table.concat(myTable, ' ')

