From: Chris Pine Date: 2003-04-09T07:54:36+09:00 Subject: Re: The "!" and "?" characters. Well, I don't know why that other code segfaulted (ideas, anyone?), but this works: irb(main):010:0> class Integer irb(main):011:1> define_method('!') do irb(main):012:2* raise 'oops' if self < 0 irb(main):013:2> break 1 if self == 0 irb(main):014:2> (self-1).send('!') * self irb(main):015:2> end irb(main):016:1> end => # irb(main):017:0> 5.send('!') => 120 Perhaps not as satisfying for you, though, huh? :) Chris