我对lua语言很陌生,我正在尝试不同的事情。 manual在解释器开始之前说,它将查找环境变量LUA_INIT
,如果它的形式为@filename
,解释器将首先运行文件filename
。
在我尝试将LUA_INIT
变量定义为@/home/tontyoutoure/lua/lua_init.lua
之后,我使用了ubuntu,其中我编写了一个简单的函数,它返回一个自然数的阶乘:
function fact(n)
if n == 0 then
return 1
else
return n*fact(n-1)
end
end
我检查了变量,看起来没问题:
$ echo $LUA_INIT
@/home/tontyoutoure/lua/lua_init.lua
我想解释器应该首先加载函数fact
,但是当我启动解释器并做一个简单的测试时:
$ lua
> = fact(5)
stdin:1: attempt to call global 'fact' (a nil value)
stack traceback:
stdin:1: in main chunk
[C]: in ?
在我看来,解释器没有加载文件。 那么哪个部分我错了?