Atalho de cólon e comercial de Ruby [duplicado]

Duplicata Possível:
O que map (&: name) significa em Ruby?

Em Ruby, eu sei que se eu fizer:

some_objects.each(&:foo)

É o mesmo que

some_objects.each { |obj| obj.foo }

Isso é,&:foo cria o bloco{ |obj| obj.foo }, transforma em um Proc e passa para cada um. Por que isso funciona? É apenas um caso especial do Ruby, ou existe alguma razão para isso funcionar?

questionAnswers(2)

yourAnswerToTheQuestion