LUA_INIT环境变量不工作
我对lua语言很陌生,我正在尝试不同的东西。在解释器启动之前,它将查找环境变量LUA_INIT环境变量不工作,lua,Lua,我对lua语言很陌生,我正在尝试不同的东西。在解释器启动之前,它将查找环境变量LUA_INIT,如果其格式为@filename,解释器将首先运行文件filename 在我尝试将LUA_INIT变量定义为@/home/tontyoutoure/LUA/LUA_INIT.LUA之后,我正在使用ubuntu,在其中我编写了一个简单函数,返回自然数的阶乘: function fact(n) if n == 0 then return 1 else retu
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 ?
在我看来,解释器没有加载文件。
那么我错在哪一部分呢?您是否在环境中创建了变量
LUA_INIT=xxxxx
不足-您需要导出。否则它是外壳的本地变量。您可以通过在LUA REPL中键入=os.getenv'LUA_INIT'
来检查变量。@mksteve谢谢您的回答,问题已解决。您在环境中创建了变量吗LUA_INIT=xxxxx
不足-您需要导出。否则它是外壳的本地变量。您可以通过在LUA REPL中键入=os.getenv'LUA_INIT'
来检查变量。@mksteve谢谢您的回答,问题已经解决。