首页 > 代码库 > Lua chapter 4

Lua chapter 4

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 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));