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?