Lua有不同的翻译吗?
我下载了“LuaForWindows_v5.1.4-46.exe”,其中包含一个名为SciTE的IDE。 但当我试图执行死刑时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在交互会话期间重载打印功能,
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以防止使用未声明的变量)(@ο@)哇。非常感谢你!