数学の世界で + は演算子である 5歳の子供でもそれを知っている そして私やあなたが老いて死にゆくまで + は演算子であり そこに疑念の入る余地はない プログラミングの世界でもふつう + は演算子である CでもJavaでもPerlでも + は演算子であり それ以上でもそれ以下でもない ところが驚くべきことに Rubyの世界では + は演算子ではないのである 嘘だと思うなら エディタを立ち上げて*1 次のようにしてみるといい class Fixnum def +(other) Integer("#{self}"+"#{other}") end end 1 + 2 # => 12 123 + 456 # => 123456 あなたは今 Fixnum#+ メソッドを再定義した そうしたら1 + 2は12という答えを返した そうRubyの世界で + は演算子ではなく ユーザが再定義可能な ひとつの