lua 函数

function factorial1(n)
        if n== 0 then
                return 1
        else
                return n * factorial1(n - 1)
        end
end
print(factorial1(5))
factorial2 = factorial1
print(factorial2)
print(factorial1)
print(factorial2(5))

执行结果

[root demolua]# vim function_test.lua
[root demolua]# lua function_test.lua
120
function: 0xab2640
[root demolua]# vim function_test.lua
[root demolua]# lua function_test.lua
120
function: 0x24fa640
function: 0x24fa640
[root demolua]# vim function_test.lua
[root demolua]# lua function_test.lua
120
function: 0x1ec7cd0
function: 0x1ec7cd0
120

通过执行结果可以知道

factorial2 = factorial1
执行的是一个函数地址的赋值操作。
(学习网站上:在 Lua 中,函数是被看作是"第一类值(First-Class Value)",函数可以存在变量里。)
posted @ 2019-09-16 09:44  N_zero  阅读(198)  评论(0)    收藏  举报