僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
#!/usr/bin/env ruby num = ARGV[0].to_i def myfact(n) begin if n <= 1 return 1 else return n * myfact(n-1) end end end puts myfact(num)
$ ruby myfact.rb 30 265252859812191058636308480000000
8188!まで値らしきものが出た。
それを越えると、
$ ruby myfact.rb 8189 myfact.rb:7: stack level too deep (SystemStackError)
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。