1.语法
--lua函数基本语法
function func_name (arguments-list)
statements-list;
end;
2.参数
2.1固定参数
--lua函数参数传递(固定)
function function_name( id,name,age )2.2可变参数
-- body
end
3.返回值--lua函数参数传递(可变)function function_name( ... )
-- body
end
--lua函数的返回值(可返回多个值)
function function_name( ... )4.匿名函数
-- body
return 1,2
end
--排序
names = {"Peter", "Paul", "Mary"}
grades = {Mary = 10, Paul = 7, Peter = 8}
table.sort(names, function(n1, n2)
return grades[n1] > grades[n2] -- compare the grades
end)
for index,value in pairs(names) do
print(index,value)
end
--闭包返回(一个函数加上它可以正确访问的upvalues)
function newCounter()
local i = 0
return function()
i = i + 1
return i
end
end
c1 = newCounter()
print(c1()) --> 1
print(c1()) --> 2