6.! ならいけるんじゃね?と思ってやってみたら、単項の ! がオーバーライドされてしまった。エラーにならずに動いてしまったから、いけるかと思ってしまったじゃないかw
p RUBY_VERSION #=> "1.9.1" p !6 #=> false class Fixnum def !; 2.step(self).inject(1,:*); end #def !@; 99999; end end p 6.! #=> 720 p 6.!@ #=> 720 p !6 #=> 720
6.! ならいけるんじゃね?と思ってやってみたら、単項の ! がオーバーライドされてしまった。エラーにならずに動いてしまったから、いけるかと思ってしまったじゃないかw
p RUBY_VERSION #=> "1.9.1" p !6 #=> false class Fixnum def !; 2.step(self).inject(1,:*); end #def !@; 99999; end end p 6.! #=> 720 p 6.!@ #=> 720 p !6 #=> 720