函数 --函数 的返回值和参数不需要定义类型 --lua 中使用end代表函数的结束 不需要{} function fun1(n) if n==1 then return n else return n * fun1(n - 1) end end print(fun1(3)) -- 输出6 --可以把函数当做一个类型使用 fun2 = fun1 print(fun2(3)) -- 输出6 --函数作为参数传递 function fun3(tab,fun) for k ,v in pairs(tab) do print(fun(k,v)); --读取键值对 end end tab={key1="val1",key2="val2"} function fun(key,val) return key.." = "..val; end --fun3(tab, fun) --输出key1 = val1; key2 = val2 --函数作为匿名函数,做参数 fun3(tab, function(key,val) return '键'..key.." = ".."键"..val; end) --输出键key1 = 键val1; 键key2 = 键val2 function --函数 的返回值和参数不需要定义类型 --lua 中使用end代表函数的结束 不需要{} function fun1(n) if n==1 then return n else return n * fun1(n - 1) end end print(fun1(3)) -- 输出6 --可以把函数当做一个类型使用 fun2 = fun1 print(fun2(3)) -- 输出6 --函数作为参数传递 function fun3(tab,fun) for k ,v in pairs(tab) do print(fun(k,v)); --读取键值对 end end tab={key1="val1",key2="val2"} function fun(key,val) return key.." = "..val; end --fun3(tab, fun) --输出key1 = val1; key2 = val2 --函数作为匿名函数,做参数 fun3(tab, function(key,val) return '键'..key.." = ".."键"..val; end) --输出键key1 = 键val1; 键key2 = 键val2