演算子と可視性

1.9では、幾つかのクラスの演算子で、可視性変更が効かなくなっている。(protected, privateに変更しても実行できる)

class Fixnum
  private :+
end
p(1 + 2)

class Array
  private :+
end
p([1] + [2])

class String
  private :+
end
p("1" + "2")

高速化のためにmethod callをbypassして、直接処理を実行しているためのようだ。