dofile 'xx.lua' 加载程序库
function f(a, b) retrun a or b end
f(3) a = 3, b = nil
f(3, 4) a = 3, b = 4
f(3, 4, 5) a = 3, b = 4
多重返回值
s, e = stirng.find("hello", " he")
function foo() end
function foo1() return "a" end
function f002() return "a", "b" end
x, y = foo2() --> x= "a", y= "b"
x = foo2() -->x = "a"
x, y, z = 10,foo2() -- >x = 10, y = "a", z = 'b"
x, y = foo0() -->x= nil, y= nil
x, y = foo1() -->x = "a", y = nil
x, y, z = foo2() -->x = "a", y = "b", z = nil
x, y = foo2(), 20 -->x= "a", y = 20
如果一个函数调用不是一系列表达式的最后一个元素,那么只产生一个值
unpack()函数接受一个数组作为参数,依次返回该数组的所有参数
a, b = unpack(10, 10, 20) --->a = 10 b = 10
变长参数
function id (... ) return ... end
function foo (a, b, c)
可以转换成
function foo(... )
local a, b, c = ...
select(n, ...) 从...中获取第n个参数
select('#',...) 返回变长参数的总数