instance method
Enumerator::Lazy#_enumerable_flat_map
_enumerable_flat_map
enumerator.c
View on GitHub ↗
static VALUE
lazy_flat_map(VALUE obj)
{
LAZY_NEED_BLOCK(flat_map);
return lazy_add_method(obj, 0, 0, Qnil, Qnil, &lazy_flat_map_funcs);
}
Alias of #flat_map
Returns a new lazy enumerator with the concatenated results of running block once for every element in the lazy enumerator.
Example
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force #=> ["f", "o", "o", "b", "a", "r"]
A value x returned by block is decomposed if either of the following conditions is true:
-
xresponds to both each and force, which means thatxis a lazy enumerator. -
xis an array or responds to to_ary.
Otherwise, x is contained as-is in the return value.
Example
[{a:1}, {b:2}].lazy.flat_map {|i| i}.force
#=> [{:a=>1}, {:b=>2}]
See also
#flat_map
#_enumerable_find_all
#_enumerable_grep
#_enumerable_filter_map
also in
3.4 · 3.3 · 3.2 · 3.1 · 3.0