Вы ищете функцию table.unpack
. Вы можете создать аргументы для функции vararg, которую вы хотите вызвать в таблице. Вызов 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
.
function print(...)
return table.concat({...}, "\t").."\n"
end