Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ruby中的不同实例多次打印用户输入_Ruby - Fatal编程技术网

使用ruby中的不同实例多次打印用户输入

使用ruby中的不同实例多次打印用户输入,ruby,Ruby,有没有办法让这个脚本只运行一次puts?用户输入将是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_

有没有办法让这个脚本只运行一次puts?用户输入将是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循环可以工作,但哪一个更好?

确保
将谐波和(n)
放在一起,而不是仅仅调用它!确保
输入谐波和(n)
而不是仅仅调用它!
  1.upto(sum) do |n|
    harmonic_sum(n)
  end