Ruby on rails Ruby和实例化对象
我有一个名为“分数”的类,它计算调和和。基本上,我希望能够输入一个值,然后程序能够计算出这个数的谐波和。例如,如果用户输入3,则我希望输出为“谐波1:1/1,谐波2:3/2,谐波3:11/6”。这就是我到目前为止的方法Ruby on rails Ruby和实例化对象,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个名为“分数”的类,它计算调和和。基本上,我希望能够输入一个值,然后程序能够计算出这个数的谐波和。例如,如果用户输入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| harm
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
我不断地犯错误,认为我的论点是错误的。任何帮助都将不胜感激 在这里您可以得到一个输入:
x = gets.chomp.to_i
然后定义需要一个参数的方法:
def harmonic_sum(x)
但在这里你称之为无参数:
puts harmonic_sum
相反,使用
put harmonic\u sum(x)
harmonic\u sum
需要一个参数,可能是x
。什么是Fraction
?france是我创建的计算谐波sum的类,请编辑以重现错误消息,包括它发生的行。顺便说一下,在代码中使用适当的缩进使其更易于阅读。一旦我这样做,它会在第4行显示一个错误,即“def initialize(n,d)”。它说“'initialize':参数数目错误(1代表2)(ArgumentError)”@Arayah yeah查看分数。新建(0)
-您使用一个参数调用它,但分数初始化函数需要2个参数。谢谢