From: Adam Shelly Date: 2008-04-01T03:27:19+09:00 Subject: Re: Modifying FIX::* method On 3/31/08, Alex DeCaria wrote: > I want to be able to multiply a NUMERIC object by my Foo object and have > it return a new Foo object with all the instance variables multiplied by > the Numeric object. [...] > I'm thinking I have to modify the "*" method for all the subclasses of > the NUMERIC class. Is this correct? Or am I missing something. > You don't need to modify Numeric, you just need to tell it how to coerce your object into a number. irb(main):057:0* class Foo irb(main):058:1> def initialize(x) irb(main):059:2> @x=x irb(main):060:2> end irb(main):061:1> def coerce(n) irb(main):062:2> [n,@x] irb(main):063:2> end irb(main):064:1> end => nil irb(main):065:0> 2 + Foo.new(3) => 5 irb(main):066:0> f=Foo.new(4) => # irb(main):067:0> 8/f => 2 -Adam