在lua中,我正在使用其他函数,该函数接受可变数量的参数。我想做的是通过循环建立参数列表。这可能吗?
示例功能:
printResult = ""
function print (...)
for i,v in ipairs(arg) do
printResult = printResult .. tostring(v) .. "\t"
end
printResult = printResult .. "\n"
end
我尝试过
print({"test","test2"})
但是这只是将一个参数(表)传递给函数
您正在寻找table.unpack
功能。您可以为要在表中调用的vararg函数构建参数。在表上调用table.unpack
将表扩展为参数列表。像这样,
table.unpack
此外,您还需要在发布的args = {}
for i = 1, 4 do
args[#args+1] = i * i * math.pi
end
print(table.unpack(args))
函数中将所有这些参数收集到您正在使用的print
列表中...
arg
最后,已经有一种方法可以使用function print (...)
printResult = ""
arg = {...}
for i,v in ipairs(arg) do
printResult = printResult .. tostring(v) .. "\t"
end
printResult = printResult .. "\n"
return printResult
end
完成您想做的事情。
table.concat