从标准输入流中读取数据而不阻塞?

这个问题困扰着我很久了;Lua 中是否有一种方式,可以检查 stdio 上是否有任何可用数据,只有在有数据时才读取它?

例如;假设我有一些正在执行重要任务的服务器,不应被阻塞的 io.read() 函数打断,但是我仍然想能够在控制台上输入命令。

我尝试过 io.read(0),但即使它阻塞直到接收到 EOF,就算没有数据也会立即返回停止。

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

点赞
stackoverflow用户1979882
stackoverflow用户1979882

我建议编写一个自定义的纯 C 库进行检查。

https://stackoverflow.com/a/26949111/1979882

下面是一个创建用于 Lua 的 C 库的示例。

http://cs.brynmawr.edu/Courses/cs380/fall2011/luar-topics2.pdf

2016-10-13 07:47:51