Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rinda/tuplespaceライブラリ > Rinda::TupleSpaceクラス > read

instance method Rinda::TupleSpace#read

read(tuple, sec=nil) -> [Array|Hash][permalink][rdoc]

タプルスペース内の tuple にマッチするタプルを一つコピーして返します。

このメソッド呼び出しが終了しても、タプルスペースからタプルは取り除かれません。

tuple で指定できるパターンについては rinda/rinda/タプルのパターンについて を 参照してください。

マッチするタプルが存在しない場合は、マッチするタプルがタプルスペースに 投入されるまで待ちます。

sec でタイムアウト秒数を指定できます。 待ち時間が sec 秒を過ぎた時には read をあきらめ 例外 Rinda::RequestExpiredError を発生させます。 sec に nil を指定するとタイムアウトせずに無限に待ち続けます。

[PARAM] tuple:
タプルのパターン
[PARAM] sec:
タイムアウト秒数
[EXCEPTION] Rinda::RequestExpiredError:
read がタイムアウトした場合に発生します
[EXCEPTION] Ridna::RequestCanceledError:
read が何らかの理由でキャンセルされた場合に発生します。