Method: Enumerable#flat_map
- Defined in:
- enum.c
#flat_map {|obj| ... } ⇒ Array #collect_concat {|obj| ... } ⇒ Array #flat_map ⇒ Object #collect_concat ⇒ Object
Returns a new array with the concatenated results of running block once for every element in enum.
If no block is given, an enumerator is returned instead.
[1, 2, 3, 4].flat_map { |e| [e, -e] } #=> [1, -1, 2, -2, 3, -3, 4, -4]
[[1, 2], [3, 4]].flat_map { |e| e + [100] } #=> [1, 2, 100, 3, 4, 100]
475 476 477 478 479 480 481 482 483 484 485 486 |
# File 'enum.c', line 475
static VALUE
enum_flat_map(VALUE obj)
{
VALUE ary;
RETURN_SIZED_ENUMERATOR(obj, 0, 0, enum_size);
ary = rb_ary_new();
rb_block_call(obj, id_each, 0, 0, flat_map_i, ary);
return ary;
}
|