Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Enumerator::Lazyクラス > collect_concat
flat_map {|item| ... } -> Enumerator::Lazy
[permalink][rdoc]collect_concat {|item| ... } -> Enumerator::Lazy
ブロックの実行結果をひとつに繋げたものに対してイテレートするような Enumerator::Lazy のインスタンスを返します。
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force #=> ["f", "o", "o", "b", "a", "r"]
ブロックの返した値 x は、以下の場合にのみ分解され、連結されます。
それ以外のときは、x は分解されず、そのままの値として使われます。
[{a:1}, {b:2}].lazy.flat_map {|i| i}.force #=> [{:a=>1}, {:b=>2}]
[SEE_ALSO] Enumerable#flat_map