问题描述
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