Ruby求阶乘,第二个方法为什么不能自动转换成长整数?

浏览:42日期:2022-10-22

问题描述

def f(n) i = 1 while n > 0 i *= n n -= 1 end return ienddef f2(n) if n == 1 return 1 else return n * f2(n-1) endendputs f(22)puts f2(22)

运行结果

:!ruby test.rb | tee /var/folders/_y/prf_0rd90dj668w8cp6fr8gc0000gn/T/vYzoU63/381124000727777607680000-1250660718674968576(1 of 2): 1124000727777607680000

呃…发现在vim中使用外部命令和在shell下结果是不同的,仍然求解

问题解答

回答1:

ruby是什么版本的? 我在2.0.0下运行结果正常

回答2:

1.9.2 下结果也正常

P.S. 使用ruby请不使用return

相关文章: