Рубиновый ярлык амперсанда и толстой кишки [дубликаты]

Возможный дубликат:
Что означает карта (&: name) в Ruby?

В Ruby я знаю, что если я сделаю:

some_objects.each(&:foo)

Это так же, как

some_objects.each { |obj| obj.foo }

Это,&:foo создает блок{ |obj| obj.foo }, превращает его в Proc и передает его каждому. Почему это работает? Это просто особый случай Ruby, или есть причина, почему это работает так, как работает?

Ответы на вопрос(2)

Ваш ответ на вопрос