るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.021秒)
トップページ > クエリ:Enumerable[x] > クエリ:filter_map[x]

別のキーワード

  1. tracer add_filter
  2. csv filter
  3. _builtin filter
  4. _builtin filter!
  5. socket so_detach_filter

ライブラリ

クラス

モジュール

キーワード

検索結果

Enumerable#filter_map -> Enumerator (39120.0)

各要素に対してブロックを評価した値のうち、真であった値の 配列を返します。

...対してブロックを評価した値のうち、真であった値の
配列を返します。

ブロックを省略した場合は Enumerator を返します。

//emlist[例][ruby]{
(1..10).filter_map { |i| i * 2 if i.even? } #=> [4, 8, 12, 16, 20]
//}

@see Enumerable#filter, Enumerable#map...

Enumerable#filter_map {|item| ... } -> [object] (39120.0)

各要素に対してブロックを評価した値のうち、真であった値の 配列を返します。

...対してブロックを評価した値のうち、真であった値の
配列を返します。

ブロックを省略した場合は Enumerator を返します。

//emlist[例][ruby]{
(1..10).filter_map { |i| i * 2 if i.even? } #=> [4, 8, 12, 16, 20]
//}

@see Enumerable#filter, Enumerable#map...

Enumerator::Lazy#filter_map {|item| ... } -> Enumerator::Lazy (18163.0)

Enumerable#filter_map と同じですが、配列ではなく Enumerator::Lazy を返します。

...
Enumerable
#filter_map と同じですが、配列ではなく Enumerator::Lazy を返します。

@raise ArgumentError ブロックを指定しなかった場合に発生します。

//emlist[例][ruby]{
1.step.lazy.filter_map { |n| n * 2 if n.even? }
# => #<Enumerator::Lazy: #<Enumerator::Lazy:...
...(1.step)>:filter_map>

1.step.lazy.filter_map { |n| n * 2 if n.even? }.take(10).force
# => [4, 8, 12, 16, 20, 24, 28, 32, 36, 40]
//}

@see Enumerable#filter_map...

NEWS for Ruby 2.7.0 (60.0)

NEWS for Ruby 2.7.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...目すべきもののみ)

* Array
* 新規メソッド
* Array#intersectionが追加されました。 16155
* Array#minmaxがEnumerable#minmaxより高速な実装として追加されました。 15929

* Comparable
* 変更されたメソッド
* Comparable#clampが...
...931

* Enumerable
* 新規メソッド
* Enumerable#filter_mapが追加されました。 15323
* Enumerable#tallyが追加されました。 11076
//emlist[Enumerable#filter_map][ruby]{
[1, 2, 3].filter_map {|x| x.odd? ? x.to_s : nil } #=> ["1", "3"]
//}
//emlist[Enumerable#tally]...
...互換性のある方法で全ての引数を転送する時に使えます。 16404

* Range
* 新規メソッド
* Range#minmaxがEnumerable#minmaxより高速な実装として追加されました。
最大値にRange#maxと同じ値を返すようになりました。 15807...

Enumerator::Lazy.new(obj, size=nil) {|yielder, *values| ... } -> Enumerator::Lazy (36.0)

Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。

...yield される値を
指定できます。

//emlist[Enumerable#filter_map と、その遅延評価版を定義する例][ruby]{
module Enumerable
def filter_map(&block)
map(&block).compact
end
end

class Enumerator::Lazy
def filter_map
Lazy.new(self) do |yielder, *values|
resul...
...t = yield *values
yielder << result if result
end
end
end

1.step.lazy.filter_map{|i| i*i if i.even?}.first(5)
# => [4, 16, 36, 64, 100]
//}

@raise ArgumentError 引数を指定しなかった場合、ブロックを指定しなかった場合に発生します。

@see Enumerator.n...

絞り込み条件を変える

Enumerator::Lazy (18.0)

map や select などのメソッドの遅延評価版を提供するためのクラス。

...ncat
* filter_map
* select/find_all
* reject
* grep, grep_v
* take, take_while
* drop, drop_while
* slice_before, slice_after, slice_when
* chunk, chunk_while
* uniq
* zip (※互換性のため、ブロックを渡さないケースのみlazy)

Lazyオブジェクトは、Enumerable#lazy...
...メソッドによって生成されます。

Lazyから値を取り出すには、Enumerator::Lazy#force または
Enumerable
#first を呼びます。

//emlist[例][ruby]{
# 二乗して偶数になるような整数を、小さい方から5個表示する
p 1.step.lazy.select{|n| (n**2).even?}.f...
...* filter_map
* select/find_all
* reject
* grep, grep_v
* take, take_while
* drop, drop_while
* slice_before, slice_after, slice_when
* chunk, chunk_while
* uniq
* compact
* zip (※互換性のため、ブロックを渡さないケースのみlazy)

Lazyオブジェクトは、Enumerable#...
...lazyメソッドによって生成されます。

Lazyから値を取り出すには、Enumerator::Lazy#force または
Enumerable
#first を呼びます。

//emlist[例][ruby]{
# 二乗して偶数になるような整数を、小さい方から5個表示する
p 1.step.lazy.select{|n| (n**2).even...