On Mon, Jun 22, 2009 at 2:52 PM, Brian Candler<b.candler / pobox.com> wrote: > Robert Dober wrote: > That I dislike very much. What you want is to run a 'join' operation on > *each member* of the collection, but that looks like running a .map.join > on the *whole* collection. From that point of view, > > coll.map { |c| c.join(",") } > > expresses very clearly what you're doing. I agree with you, that this is confusing at first sight, but actually coll.map.join instead of coll.join does not make any sense at all. My corollary is: Any method sent to map makes only sense to be sent to the elements of the collection and not to the collection itself because that would make map a NOP. I believe that the confusion arises from the fact that map returns an Enumerator and that just seems quite flawed at second thought (or is this third thought ;). Why the heck does map return an Enumerator? If I wanted that I surely would have called to_enum ! And if the receiver already was an Enumerator I want to call map for some purpose too. Strange that this has never occurred to me, alhough I always had this flawed feeling about #map This is a very strong opinion but it is hold, how does Rick say?, loosely ;) Cheers Robert -- Toutes les grandes personnes ont dÃÂbord ñÕdes enfants, mais peu dÃÆntre elles sÃÆn souviennent. All adults have been children first, but not many remember. [Antoine de Saint-ExupñÓy]