有没有办法让这个脚本只运行一次?用户输入将是puts语句打印出来的内容?
print "Which harmonic sums do you wish to calculate? "
sum = gets.to_i
def harmonic_sum(n)
(1..n).inject(Fraction.new(0,1)) {|r, i| r + Fraction.new(1,i) }
end
puts harmonic_sum(1)
puts harmonic_sum(2)
puts harmonic_sum(3)
puts harmonic_sum(4)
puts harmonic_sum(5)
我是否必须创建一个局部变量才能将其作为循环运行,如果是这样,我将运行什么样的循环。我看到其他帖子说while循环或for循环可行,但哪一个更好?
答案 0 :(得分:2)
1.upto(sum) do |n|
harmonic_sum(n)
end