From: Tanaka Akira Date: 2009-09-27T12:54:22+09:00 Subject: [ruby-dev:39383] [Bug:1.9] overridden method is not called with delegate 以下のように、Object と Array に m というメソッドを定義し、 [] に対し delegate 経由で m を呼ぶと、Array でなく Object に 定義された m が呼ばれてしまいます。 % ./ruby -rdelegate -ve ' class Object def m p :o end end class Array def m p :a end end class A < DelegateClass(Array); end A.new([]).m ' ruby 1.9.2dev (2009-09-26 trunk 25102) [i686-linux] :o 1.8 では、Array の m が呼ばれます。 % ruby-1.8 -rdelegate -ve ' class Object def m p :o end end class Array def m p :a end end class A < DelegateClass(Array); end A.new([]).m ' ruby 1.8.8dev (2009-09-15 revision 24931) [i686-linux] :a -- [田中 哲][たなか あきら][Tanaka Akira]