在此程序中:https://repl.it/EvM6,io.read()应该将输入分配给变量,然后将变量打印到屏幕上。但是,会出现奇怪的错误,其中包含
“{” 命令 “:” 输入 “ ”数据“: ”FOO \ n“, ”错误“: ”“}”。
为什么会出现此错误?有没有办法解决它?
答案 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实现中的一个错误。它现在已修复。我为这种困惑道歉。