Lua
中把...
称为变参表达式(vararg expression
)。参看下面程序:
function fwrite(fmt, ...)
io.write(string.format(fmt, ...))
end
fwrite("%s\n", "Hello world!")
要注意,...
作为函数参数时,要作为唯一一个或者最后一个。
{...}
会返回一个包含所有参数的数组(一个table
)。参看下面程序:
function add(...)
local t = {...}
local s = 0
for i = 1, #t do
s = s + t[i]
end
print(s)
end
add(1, 2, 3, 4)
执行结果:
10