定义格式
function f(x,y)
print(“和为”,x+y)
end
f = function(x,y)
print(“和为”,x+y)
end
可变参数
function f(…)
function f(x,y,…)
function f(...)
for k,v in pairs{...} do
print(k.."-> "..v)
end
print(#{...})
end
f(11,22,33,44,55)
function f(...)
for k,v in pairs(arg) do -- arg 为最后一个元素,取参数长度
print(k.."-> "..v)
end
end
f(11,22,33,44,55)
函数返回值丢失
多个返回值的函数作为参数时,此函数如果是末尾参数,返回值都会取到,否则只取第一个返回值
function f(x,y,z)
return x,y,z
end
print(“aa”,”bb”,f(11,22,33))
aa bb 11 22 33
print(“aa”,”bb”,f(11,22,33),”cc”)
aa bb 11 cc
a,b,c,d=”aa”,f(11,22,33)
a=”aa”
b=11
c=22
d=33
a,b,c,d=f(11,22,33),”aa”
a=11
b=”aa”
c=nil
d=nil