function(函数)
在 Lua 中,函数是被看作是"第一类值(First-Class Value)",函数可以存在变量里:
-- 在 Lua 中,函数是被看作是"第一类值(First-Class Value)",函数可以存在变量里:
function factorial1(n)
if n == 1 then
return 1
else
return n*(factorial1(n-1))
end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))
function testAnony(tab,fun)
for k,v in pairs(tab) do
print(fun(k,v));
end
end
table = {key1 = "val1",key2 = "val2",5,16};
testAnony(table,
function(k,v) --匿名函数
return k .. "-" .. v;
end
);
testAnony(table,
function(k,v) --匿名函数
if type(v) == "number" then --判断值是否数字,转变key 为20 - value的余数 ,value为20
k = 20 - v;
v = 20;
end
return k .. "--" .. v;
end
);