From: Dave Burt Date: 2005-10-27T15:37:05+09:00 Subject: Re: Cleaner syntax for .map (is there already a way, or ruby2 idea?) Ron M: > > I find that a bunch of my code looks like > > people.map{|person| person.email_addr} > > where I use map to apply a single method to elements inside arrays. I've done something like this before: module Enumerable def map_send(*methods) map {|obj| methods.inject(obj) {|obj, meth| obj.send(meth) }} end end a = %w{ foo bar baz} a.map_send(:capitalize, :reverse) #=> ["ooF", "raB", "zaB"] > .... I think something > like this would be very nice: > > people[*].email_addr That's an interesting-looking operator there. I think it's very unclear what it does. I'd prefer the mouse-poo version people.map { @.email_addr } or people.map { it.email_addr } I don't think Enumerable wants a special operator like this; method names convey meaning. Cheers, Dave