一般定义方式:
function add (a)
local sum = 0
for i = 1, #a do
sum = sum + a[i]
end
return sum
end
5.1 多重返回值
function find (a)
local min = a[1]
local max = a[1]
for i = 1, #a do
if a[i] > max then
max = a[i]
end
if a[i] < min then
min = a[i]
end
end
return max, min
end
a = {8,10,23,12,5}
print(find(a))
结果:23 5
5.2可变参数
function add (...)
local s = 0
for i, v in ipairs({...}) do
s = s + v
end
return s
end
print(add(3, 4, 10, 25, 12)) --> 54
Lua函数的参数是可变的
5.3具名参数
Lua将所有实参组织到一个table中,将这个table作为唯一具名实参传递给函数
arg = {old="temp.lua", new="temp1.lua"}
function rename (arg)
print(arg.old, arg.new)
end
rename(arg)