https://redmine.ruby-lang.org/https://redmine.ruby-lang.org/favicon.ico?17113305112010-07-03T05:14:49ZRuby Issue Tracking SystemRuby master - Bug #3525: Enumerable#flat_map does not return a flatted enumerablehttps://redmine.ruby-lang.org/issues/3525?journal_id=121072010-07-03T05:14:49Zmame (Yusuke Endoh)mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Rejected</i></li></ul><p>=begin<br>
Hi,</p>
<p>2010/7/3 Jan Lelis <a href="mailto:redmine@ruby-lang.org" class="email">redmine@ruby-lang.org</a>:</p>
<blockquote>
<p>the new flat_map method does not return flatted enumerables:</p>
<p>irb(main):072:0> [[1,2],2,3].flat_map{|e|e}<br>
=> [1, 2, 2, 3]<br>
irb(main):071:0> [[1,2],2,3].flat_map.to_a<br>
=> [[1, 2], 2, 3]</p>
</blockquote>
<p>It is indeed confusing a little, but not a bug.</p>
<p>Enumerable#flat_map aggregates values that is returned from block call,<br>
and returns a flattend array of these values.</p>
<p>Enumerator#to_a aggregates arguments that is passed to (implicit) block<br>
and just returns it as an array.</p>
<p>Look and consider the result of [[1,2],2,3].reject.to_a.</p>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a><br>
=end</p>