如何在 Lua 5.1 中读取到给定的字符?

Lua 2.4 及之前版本中有一个 readuntil 函数,可以读取直到指定字符的第一次出现;但在 2.5 中移除了该函数,现在需要将适当的模式传递给 file:read;在 5.1 中,read 的可用格式选项貌似进一步减少,版本 2.5 中有效的模式也不再可用。

如何从输入流中读取,直到给定字符(比如 TAB)第一次出现?试图编写一个具有制表符自动完成功能的增强型 REPL。

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

点赞
stackoverflow用户107090
stackoverflow用户107090

对于 tab-completion,你需要在 raw mode 下读取输入,也就是说,不用等待换行符。这在 ANSI C 中无法完成。

可以尝试使用 curses 绑定库,例如:https://github.com/rrthomas/luaposix

2011-09-27 19:22:11