Mögliches Duplikat:
Was bedeutet map(&:name) in Ruby?
In Ruby weiß ich, dass wenn ich das tue:
some_objects.each(&:foo)
Es ist dasselbe wie
some_objects.each { |obj| obj.foo }
Das heißt, &:foo
erstellt den Block { |obj| obj.foo }
verwandelt ihn in einen Proc und gibt ihn an jeden weiter. Warum funktioniert das? Ist das nur ein Sonderfall von Ruby, oder gibt es einen Grund, warum das so funktioniert?