On Nov 8, 11:57     쮮 
>
> I'm very much in sympathy with the position that &:name is ugly. It's
> always struck me as uncharacteristically line-noise-ish for Ruby
> (though I also understand the motivation for it). I have trouble
> talking myself into using it.
>
> At the same time, the merit of &:name over :name is that &:name does
> tell you what's going on, once you know that the & in front of any
> object (symbol or otherwise) in last-argument position means that the
> object will be converted to a Proc and play the block role.
>
> Having :name magically understood as &:name is, for my taste, too much
> invisible ink. [...]

I think                          list.map :name
is clearly to be understood as   list.map { |x| x.send(:name) }
not as an abbreviation for       list.map &:name
which I agree is extraordinarily ugly.

I think (don't quote me) allowing #map to take a symbol was debated
and rejected a long time ago.  I'd like to see it implemented in core,
as it's a shortcut for a common idiom, reads nicely and is
unambiguous.  I don't know when list.inject(:+) started working, but
it's a good thing!

One thing occurred to me, though.  Using "send" in the implementation
would allow access to private methods.  A check would need to be made
before pulling the trigger.

--
Gavin Sinclair