我可以以评估器模式运行Lua解释器吗?

许多脚本解释器例如irbnode都作为求值器。如果我执行这段代码,

10

它将求值并打印出值自身,并不会出现错误。

但是当我安装了lua时,它作为执行器而不是求值器工作。因此当我输入10时,它会出现错误。

我能让Lua解释器作为求值器工作吗?

原文链接 https://stackoverflow.com/questions/8784817

点赞
stackoverflow用户513763
stackoverflow用户513763

翻译

"evaluator mode" 是不存在的。Lua 解释器只解释有效的 Lua 代码。有一个例外,就是以 = 开头的行。

在独立的解释器中,你可以使用 = 来快捷地开始一行(译者注:表示接下来输入的是表达式,而不是语句),这等同于 return。在解释器中,当一个值返回到“主”程序时,它就被打印出来。

因此,在命令行输入以下代码时,效果相同:

= 10, 22
return 10, 22
print(10, 22)
2012-01-09 08:16:33
stackoverflow用户44740
stackoverflow用户44740

也有 iLua。它是一个扩展解释器,几乎可以做到你想要做的所有事情。

2012-01-09 13:27:19