直到lua 2.4,曾经有一个readuntil
函数可以读取,直到第一次出现指定的字符;在2.5中,这被删除,您必须将适当的模式传递给file:read
;在5.1中,似乎read
的可用格式选项已进一步减少,版本2.5中有效的模式不再可用。
如何从输入流中读取,直到第一次出现给定角色,比如TAB?尝试使用制表符完成来编写增强的REPL。
答案 0 :(得分:2)
对于制表符完成,您需要以原始模式读取输入,即无需等待换行符。这不能在ANSI C中完成。
尝试使用curses绑定:https://github.com/rrthomas/luaposix。