Возможный дубликат:
Что означает map (&: name) в Ruby?
В Ruby я знаю, что если я это сделаю:
some_objects.each(&:foo)
Это то же самое, что и
some_objects.each { |obj| obj.foo }
То есть &:foo
создает блок { |obj| obj.foo }
, превращает его в Proc и передает его каждому. Почему это работает? Это просто особый случай Ruby, или есть причина, почему это работает так, как есть?