首页 > 代码库 > 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 地址
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;
如:
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));
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。