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

instance method Rinda::TupleSpace#take

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

tuple にマッチするタプルをタプルスペースから取り出して返します。

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

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

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

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