From: SASADA Koichi Date: 2007-05-02T10:55:43+09:00 Subject: [ruby-dev:30745] Re: operator redefinition in YARV  ささだです. Yukihiro Matsumoto wrote: > YARVでは演算子メソッドの再定義にまだ対応していないのですね。 > mathnが動きません。  対応しています. [Fixnum, Float, Bignum].each{|klass| klass.class_eval{ [:+, :-, :/, :*].each{|op| eval %{ def #{op}(a) '#{klass}##{op}' end } } } } b = 100 ** 100 p([1+2, 1-2, 1/2, 1*2]) p([1.1+2, 1.1-2, 1.1/2, 1.1*2]) p([b+b, b-b, b/b, b*b]) #=> ["Fixnum#+", "Fixnum#-", "Fixnum#/", "Fixnum#*"] ["Float#+", "Float#-", "Float#/", "Float#*"] ["Bignum#+", "Bignum#-", "Bignum#/", "Bignum#*"]  多分,バグがあると思うんですが,(出来れば小さい)再現プログラムを教え ていただけませんか. -- // SASADA Koichi at atdot dot net