def f(n)
i = 1
while n > 0
i *= n
n -= 1
end
return i
end
def f2(n)
if n == 1
return 1
else
return n * f2(n-1)
end
end
puts f(22)
puts f2(22)
运行结果
:!ruby test.rb | tee /var/folders/_y/prf_0rd90dj668w8cp6fr8gc0000gn/T/vYzoU63/38
1124000727777607680000
-1250660718674968576
(1 of 2): 1124000727777607680000
呃…发现在vim中使用外部命令和在shell下结果是不同的,仍然求解
Ruby のバージョンは何ですか? 2.0.0 で実行しましたが、結果は正常でした
1.9.2 と結果は正常です
追記 Rubyを使用する場合はリターンを使用しないでください