るりまサーチ

最速Rubyリファレンスマニュアル検索!
16件ヒット [1-16件を表示] (0.088秒)

別のキーワード

  1. openssl p
  2. openssl p=
  3. fileutils mkdir_p
  4. rsa p
  5. kernel p

クラス

モジュール

検索結果

Enumerator::Lazy#eager -> Enumerator (18233.0)

自身を遅延評価しない Enumerator に変換して返します。

...遅延評価されるので終了する
p
lazy_enum.class # => Enumerator::Lazy
p
lazy_enum.select { |n| n.even? }.first(5)
# => [2, 4, 6, 8, 10]

# select が遅延評価されないので終了しない
enum = lazy_enum.eager
p
enum.class # => Enumerator
p
enum.select { |n| n.even? }.first(5)
//}...

Enumerable#lazy -> Enumerator::Lazy (126.0)

自身を lazy な Enumerator に変換したものを返します。

...、配列ではな
くEnumeratorを返す) ように再定義されています。

* map/collect
* flat_map/collect_concat
* select/find_all
* reject
* grep
* take, take_while
* drop, drop_while
* zip (※一貫性のため、ブロックを渡さないケースのみlazy)
* cycle (※一...
...[例][ruby]{
def pythagorean_triples
(1..Float::INFINITY).lazy.flat_map {|z|
(1..z).flat_map {|x|
(x..z).select {|y|
x**2 + y**2 == z**2
}.map {|y|
[x, y, z]
}
}
}
end
# 最初の10個のピタゴラス数を表示する
p
pythagorean_triples.take(10).fo...
...rce # takeはlazyなので、forceが必要です
p
pythagorean_triples.first(10) # firstはeagerです
# 100より小さいピタゴラス数を表示する
p
pythagorean_triples.take_while { |*, z| z < 100 }.force
//}

@see Enumerator::Lazy...