Currently in order to avoid using braces and to use select/map et al,
one must do
collection.map &:symbol
This is quite explicit, which is good, however the syntax is somewhat
ugly, which is surprising (mostly because the punctuation is
somewhat...hard to read, at least for this Ruby reader).
Suggestion:
Allow map/etc al to accept a single argument, and convert it implicitly to proc.
collection.map(:symbol)
This reads more easily.
Another option would be to add map_by(arg) and collect_by(arg)
which would actually be more preferable, as least for me.
This ticket got four -1s, and there is no rebuttal.
So I close this ticket.
FYI, matz stated the rationale (in Japanese). [ruby-dev:32692]
He thought that "inject with Symbol" directly expressed the
intention of Array#inject, and that "map with Symbol" did not.
But he also said he might change of heart in the future.
I advise you guys to lobby matz patiently :-)