質問: [1, 1].map(&:to_i)などはうまくいくんですが、 [1, 1].map(&:*2)だと、エラーが出ます。 SyntaxError: unexpected tINTEGER, expecting ')'
回答: `&:シンボル`はインスタンスメソッドを呼び出すProcオブジェクトを返す`to_proc`を呼び出すが、 (つまり`&:*2.to_proc`) まず、`:*2` がシンボルとして解釈しようとして失敗する。 エラーメッセージはそのためだと思われます。 それで、`:"*2"`としてみたらシンボルとしては有効ですが、 `*2`というメソッドが`Integer`にないので失敗する。 代替として ``` mul = -> x, y { x * y } arr2 = [1,1].map(&mul.curry.(2)) ``` ではどうでしょう?