跳转至

函数


函数格式

Lua
1
2
3
4
[local] function function_name( argument1, argument2, argument3..., argumentn)
    --函数体
    return result1,result2 --函数可以有多返回值,逗号隔开
end

示例

Lua
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
function factorial1(n)
    if n == 0 then
        return 1
    else
        return n * factorial1(n - 1)
    end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2(5))

匿名函数

Lua
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
function testFun(tab,fun)
        for k ,v in pairs(tab) do
                print(fun(k,v));
        end
end


tab={key1="val1",key2="val2"};
testFun(tab,
function(key,val)--匿名函数
        return key.."="..val;
end
);

传参

通常按值传参
table类型按引用传参