我有一个名为Fraction的类来计算谐波和。基本上,我希望能够输入一个值,然后程序能够计算到该数字的谐波总和。例如,如果用户输入3,那么我希望输出为“谐波1:1/1,谐波2:3/2,谐波3:11/6”。到目前为止,这就是我所拥有的方法。
print "Enter a value for your harmonic sum: "
x = gets.chomp.to_i
def harmonic_sum(x)
(1..x).inject(Fraction.new(0)) do |a, i|
harmonic = Fraction.new(1, i)
puts "h#{i}: #{harmonic + a}"
a + harmonic
end
end
puts harmonic_sum
我不断收到错误,认为我的论点是错误的。任何帮助,将不胜感激!
答案 0 :(得分:1)
在这里你得到一个输入:
x = gets.chomp.to_i
然后定义需要一个参数的方法:
def harmonic_sum(x)
但是你在这里称之为没有参数:
puts harmonic_sum
相反,请使用puts harmonic_sum(x)