标准 Ruby 库“io/wait”为 IO 对象提供了一个方法,ready?
如果有可用输入则返回非 nil,否则返回 nil 或 false。我知道一些方法,例如sysread
andsyswrite
与更高级别的方法一起使用并不安全,例如gets
and read
,并且想知道ready?
与更高级别的方法混合使用是否安全。ready 方法看起来相当有用,也许比依赖 更优雅IO.select
,但是,令人惊讶的是,我还没有看到它用得太多。文档中没有任何内容表明与read
or一起使用是不安全的gets
,我只是想确保我没有混合不兼容的方法,这些方法最终可能在读/写套接字时导致意外行为。
编辑:我想我应该提到我使用的是 Ruby 1.8.7。