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有不同的翻译吗?_Lua_Interpreter - Fatal编程技术网

Lua有不同的翻译吗?

Lua有不同的翻译吗?,lua,interpreter,Lua,Interpreter,我下载了“LuaForWindows_v5.1.4-46.exe”,其中包含一个名为SciTE的IDE。 但当我试图执行死刑时 print(a) 尚未分配a。当我使用SciTE交互式Lua时,输出为“变量'QQQQ'未声明”。 否则,如果我打开Cmd使用 lua -e "print(aaaa)" 然后命令输出将是“nil”,和我在书中看到的一样 谁知道为什么不同,因为Lua有不同的解释器???是同一个解释器。类似于C++的Lua允许“函数重载”;Scite IDE在交互会话期间重载打印功能,

我下载了“LuaForWindows_v5.1.4-46.exe”,其中包含一个名为SciTE的IDE。 但当我试图执行死刑时

print(a)
尚未分配a。当我使用SciTE交互式Lua时,输出为“变量'QQQQ'未声明”。 否则,如果我打开Cmd使用

lua -e "print(aaaa)"
然后命令输出将是“nil”,和我在书中看到的一样


谁知道为什么不同,因为Lua有不同的解释器???

是同一个解释器。类似于C++的Lua允许“函数重载”;Scite IDE在交互会话期间重载打印功能,以提供更多人类可读的调试信息。(Scite程序作者的个人设计决策。)本机Lua解释器打印函数将为未声明的变量输出nil。当您在Scite中运行Lua脚本时,Scite将确保您的脚本在所有方面都能看到纯Lua解释器行为。一般来说,对于像Scite这样的LuaIDE,您会发现它们都试图在设计和调试期间添加一些帮助,从代码完成到查找缺少的“end”语句等等。但请放心,当您点击运行按钮时,IDE将确保您的脚本看到nuthin,但lua.org发布了解释器。

可能,SciTE lua集成了一些附加库(例如
strict
library以防止使用未声明的变量)(@ο@)哇。非常感谢你!