函数
--函数 的返回值和参数不需要定义类型
--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