Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > io/waitライブラリ > IOクラス > wait

instance method IO#wait

wait(timeout = nil) -> bool | self | nil[permalink][rdoc] [added by io/wait]
wait_readable(timeout = nil) -> bool | self | nil [added by io/wait]

self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。

より詳しくは、一度ブロックしてから読み込み可能になった場合には selfを返します。 内部のバッファにデータがある場合には ブロックせずに true を返します。 内部のバッファとはRubyの処理系が保持管理している バッファのことです。

つまり、読み込み可能である場合にはtrueを返す場合と selfを返す場合があることに注意してください。

timeout を指定した場合は、指定秒数経過するまでブロックし、タ イムアウトした場合は nil を返します。

self が EOF に達していれば false を返します。

[PARAM] timeout:
タイムアウトまでの秒数を指定します。

[SEE_ALSO] IO#wait_writable