Lua Repl.it出现错误 - 用户输入不正常

https://repl.it/EvM6 中,io.read() 应该会把输入分配给一个变量,然后输出到屏幕。但是,会出现一个奇怪的错误,如下所示:

"{"command":"input","data":"foo\n","error":""}".

为什么会出现这个错误?是否有任何方法可以解决它?

点赞
用户6834680
用户6834680

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

-- 由 StarBuck 提供
print("输入一些内容,然后按回车键。")
local input = io.read()
print(input)
2016-12-22 07:55:31
用户554135
用户554135

这是 Repl.it 的一名工程师。这是我们 Lua REPL 实现中的一个错误。现在已经修复。对造成的困扰我感到抱歉。

2016-12-23 06:00:36