基本的にこれであるRubyのメソッドを探しています:
io.ready_for_read?
IO
特定のオブジェクト (私の場合は呼び出しの結果) に出力があるかどうかを確認したいだけですpopen
。つまり、フォローアップ呼び出しio.read(1)
がブロックされません。
これらは私が見る 2 つのオプションですが、どちらも好きではありません。
io.read_nonblock
- Unix の抽象化が薄すぎる --エラー処理を扱いread()
たくありません。errno
io.select
with timeout 0 -- この単純な操作の目的を曖昧にします。
私が見落としていたより良い代替手段はありますか?