From: Florian Gilcher Date: 2010-04-15T22:53:44+09:00 Subject: Re: 1.9's New Methods On Apr 15, 2010, at 1:06 PM, Intransition wrote: > First a big shout-out to Marc-Andre Lafortune and his backports project. Nice work. > > Now I want to ask if others have noticed all the new methods being add > to 1.9+? I'm quite happy about vast majority of it, but there was at > least one method I thought pretty peculiar. This Enumerable method: > > def flat_map(&block) > return to_enum(:flat_map) unless block_given? > map(&block).flatten(1) > end unless method_defined? :flat_map > Backports.alias_method self, :collect_concat, :flat_map > > I am very curious to know how it was decided that a normal map > followed by a 1-deep flatten is common enough to warrant its own > method? Two in fact! > One advantage of :flat_map over map(...).flatten(...) is that it can be chained in an Enumerator. Sometimes, this can come in handy. Regards, Florian Gilcher