1. 函数可以返回多个值 return a, b, c; 但是如果函数不是作为表达式的最后一个元素的话,仅返回第一个
如:
function f2() return "a", "b" end;
x, y = f2() -> x = "a", y = "b";
x, y = f2(), 1 -> x = "a", y = nil;
2. 可以将一个函数调用放入一对圆括号中,从而迫使它只返回一个结果
如:
print(f2()); --> a ,b
print( (f2()) ); --> a
3. unpack() 函数,用于解压table
a = {1,2,3};
print(a); --> table 地址
print( unpack(a) ); --> 1 2 3
4. 变长参数,参数表中的3个点(...)表示该函数可接受的不同数量的实参。
function add(...)
print(...);
-- 遍历变长参数
for i=1, select("#", ...) do -- select("#", ...) 获取长度
local arg = select(i, ...);
print(arg);
end;
local s = 0;
for i, v in ipairs{...} do
s = s + v;
end;
return s;
end;
print(add(1,2,3,4,5));
Lua chapter 4
时间: 2024-10-20 08:01:05