好き勝手に・げーあにん?

ファミコンと同い年の社会人ヌルオタの日記

階乗を 6! みたいに書きたい!

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