Rubyで .map(&:first) と .map{|e| e.first } が同じになる理由は? - YNote 上記エントリの解決編。 [復習] 謎の記述法 "&:hoge" hoge = [ [ "hoge", 0 ], [ "foo", 1 ], [ "bar", 2 ] ] p hoge.map{|e| e.first } # => [ "hoge", "foo", "bar" ] p hoge.map(&:first) # => [ "hoge", "foo", "bar" ] ということで .map(&:first) と map{|e| e.first } は同じになるらしい。手続き型オブジェクトが単一の引数をもち、中身がそのインスタンスメソッドを呼び出すだけ、という場合は省略的な書き方ができるという感じ。 で、このコロンはなんなのか、& はなんなのか、うんうん考えたがよ