ライブラリ
- ビルトイン (314)
-
rinda
/ rinda (44) -
rinda
/ tuplespace (22)
クラス
- Array (22)
- Enumerator (23)
-
Enumerator
:: Lazy (225) -
Rinda
:: TupleSpace (22) -
Rinda
:: TupleSpaceProxy (11)
モジュール
- Enumerable (22)
- ObjectSpace (22)
キーワード
-
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - RequestCanceledError (11)
- RequestExpiredError (11)
- TupleSpaceProxy (11)
- chunk (11)
- collect (11)
-
drop
_ while (11) -
each
_ object (22) - filter (6)
-
filter
_ map (5) -
find
_ all (11) - grep (11)
-
grep
_ v (9) - map (11)
- new (18)
- notify (11)
- produce (5)
- reject (11)
-
rinda
/ rinda (11) - select (11)
-
slice
_ after (20) -
slice
_ before (33) -
slice
_ when (10) -
take
_ while (66) -
with
_ index (10) - zip (22)
検索結果
先頭5件
-
Rinda
:: TupleSpaceProxy # take(tuple , sec = nil) -> Array | Hash (21225.0) -
tuple にマッチするタプルをタプルスペースから取り出して返します。
...Rinda::TupleSpace#take にフォワードされます。
詳細は Rinda::TupleSpace#take を参照してください。
@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError take がタイムアウトした場合に発生します
@raise Ridna......::RequestCanceledError take が何らかの理由でキャンセルされた場合に発生します。... -
Rinda
:: TupleSpace # take(tuple , sec = nil) -> Array | Hash (21219.0) -
tuple にマッチするタプルをタプルスペースから取り出して返します。
...le にマッチするタプルをタプルスペースから取り出して返します。
tuple で指定できるパターンについては lib:rinda/rinda#tuplepattern を
参照してください。
マッチするタプルが存在しない場合は、マッチするタプルがタプルス......時には take をあきらめ
例外 Rinda::RequestExpiredError を発生させます。
sec に nil を指定するとタイムアウトせずに無限に待ち続けます。
@param tuple タプルのパターン
@param sec タイムアウト秒数
@raise Rinda::RequestExpiredError take がタ......イムアウトした場合に発生します
@raise Ridna::RequestCanceledError take が何らかの理由でキャンセルされた場合に発生します。... -
Enumerator
:: Lazy # take _ while -> Enumerator :: Lazy (12242.0) -
Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
...Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.zip(('a'..'z').cycle).take_while { |e| e.first < 100_000 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:zip(#<Enumerator: "a"........"z":cycle>)>:take_while>
1.step.lazy.zip(('a'..'z').cycle).take_while { |e| e.first < 100_000 }.force.last(5)
# => [[99995, "y"], [99996, "z"], [99997, "a"], [99998, "b"], [99999, "c"]]
//}
@see Enumerable#take_while... -
Enumerator
:: Lazy # take _ while {|item| . . . } -> Enumerator :: Lazy (12242.0) -
Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
...Enumerable#take_while と同じですが、配列ではなくEnumerator::Lazy を返します。
//emlist[例][ruby]{
1.step.lazy.zip(('a'..'z').cycle).take_while { |e| e.first < 100_000 }
# => #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator::Lazy: #<Enumerator: 1:step>>:zip(#<Enumerator: "a"........"z":cycle>)>:take_while>
1.step.lazy.zip(('a'..'z').cycle).take_while { |e| e.first < 100_000 }.force.last(5)
# => [[99995, "y"], [99996, "z"], [99997, "a"], [99998, "b"], [99999, "c"]]
//}
@see Enumerable#take_while... -
Array
# take _ while -> Enumerator (12226.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
...の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while... -
Array
# take _ while {|element| . . . } -> Array (12226.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
...の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while... -
Enumerable
# take _ while -> Enumerator (12226.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
...クで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while... -
Enumerable
# take _ while {|element| . . . } -> Array (12226.0) -
Enumerable オブジェクトの要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。
...クで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
//emlist[例][ruby]{
e = [1, 2, 3, 4, 5, 0].each
e.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Array#take_while... -
rinda
/ rinda (12030.0) -
Rubyで実装されたタプルスペース(Tuple Space)を扱うためのライブラリです。
...対しては、タプルを書き込む(write)、取り出す(take)、
タプルの要素を覗き見る(read)
という操作のみが利用できます。可能な操作を限定し、定型化することで
安全な同期処理を実現します。rinda においてはタプルとは
配列も......ースそのものの実装は rinda/tuplespace でなされています。
このライブラリはタプルスペースへのアクセス機能等を提供します。
=== 参考
* http://www.druby.org/ilikeruby/rinda.html
* http://www2a.biglobe.ne.jp/~seki/ruby/d208.html
===[a:tuplepattern]......タプルのパターンについて
Rinda::TupleSpace#take や Rinda::TupleSpaceProxy#take などでは
取り出したいタプルを指定するため、パターンをメソッドの引数に渡す必要があります。
パターンは配列、もしくはハッシュテーブルのいずれ... -
Rinda
:: TupleSpace # notify(event , pattern , sec = nil) -> Rinda :: NotifyTemplateEntry (6212.0) -
event で指定した種類のイベントの監視を開始します。
...り値の Rinda::NotifyTemplateEntry を経由し、
Rinda::NotifyTemplateEntry#each を用いて報告を受け取ります。
sec で監視期間を秒数で指定できます。 nil で無限に監視し続けます。
event として以下の3つを指定できます。
* 'write' : タプル......が追加された
* 'take' : タプルが take された
* 'delete' : タプルが有効期限切れや上書きされたなどでタプルスペースから削除された
これで指定したイベントに加えて、
有効期限切れによって監視が終了した場合には 'close'......ついては lib:rinda/rinda#tuplepattern を
参照してください。
@param event 監視対象のイベント(文字列)
@param pattern 監視対象となるタプルのパターン
@param sec 監視期間の長さ(秒数)
=== 例
require 'rinda/tuplespace'
tuplespace = Rinda::TupleSpa...