Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
LUA_INIT环境变量不工作_Lua - Fatal编程技术网

LUA_INIT环境变量不工作

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语言很陌生,我正在尝试不同的东西。在解释器启动之前,它将查找环境变量
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谢谢您的回答,问题已经解决。