Раздел: CronosPRO Дата редакции: 12.07.2013 id статьи: 1543

Функции с переменным числом аргументов в Lua

Функция может принимать переменное число параметров. Для этого список аргументов в определении функции должен заканчиваться многоточием (...).
function f(x, y, ...)
end
Все значения, скрытые за многоточием, передаются функции через локальную таблицу arg. Поле n этой таблицы содержит число переданных аргументов. Поэтому значения переданных в функцию аргументов можно получить, например, так:
function f(...) 
   for i = 1, arg.n do
      MsgBox (tostring(arg[i]))
   end 
end 
f (1,2,3)