许多脚本解释器(如irb
或node
)都是评估者。如果我执行此代码,
10
它将评估并打印值本身,并且不会出错。
当我安装lua
时,它作为执行者而不是评估者。所以当我放10
时,它会出错。
我可以让Lua解释器作为评估者工作吗?
答案 0 :(得分:10)
没有“评估者模式”这样的东西。 Lua解释器只解释有效的Lua代码。除了一个例外,即以=
开头的行。
在独立翻译中,您可以使用此快捷方式开始使用=
行,该行转换为return
。在解释器中,当一个值返回到“main”例程时,它会被打印出来。
因此,在命令行输入时,这些实际上是等效的:
= 10, 22
return 10, 22
print(10, 22)
答案 1 :(得分:6)
还有iLua。它是一个扩展的解释器,几乎可以满足您的需求。