Lua Repl.it出错 - 用户输入无法正常运行

时间:2016-12-21 22:05:38

标签: lua

在此程序中:https://repl.it/EvM6,io.read()应该将输入分配给变量,然后将变量打印到屏幕上。但是,会出现奇怪的错误,其中包含

  

“{” 命令 “:” 输入 “ ”数据“: ”FOO \ n“, ”错误“: ”“}”。

为什么会出现此错误?有没有办法解决它?

2 个答案:

答案 0 :(得分:0)

函数io.read()被自定义函数替换。标准io.read()返回的结果将有所不同。

一种快速而肮脏的方法来修复它:

local io_read_orig = io.read
function io.read()
  return (
    loadstring(
      "return "..io_read_orig():match[[^{"command":".-","data":(".*"),"error":".*"}$]]
    )():gsub("\n$","")
  )
end

-- By StarBuck
print("Type something, then press enter.")
local input = io.read()
print(input)

答案 1 :(得分:0)

这是Repl.it的工程师。这是我们的Lua REPL实现中的一个错误。它现在已修复。我为这种困惑道歉。