Skrót Ruby i dwukropek [duplikat]
Możliwy duplikat:
Co oznacza mapa (&: name) w Ruby?
W Ruby wiem, że jeśli to zrobię:
some_objects.each(&:foo)
To tak samo jak
some_objects.each { |obj| obj.foo }
To jest,&:foo
tworzy blok{ |obj| obj.foo }
, zamienia go w Proc i przekazuje każdemu. Dlaczego to działa? Czy jest to tylko przypadek specjalny Ruby, czy też jest powód, dla którego to działa?