Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.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 on rails Ruby和实例化对象_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Ruby和实例化对象

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

我有一个名为“分数”的类,它计算调和和。基本上,我希望能够输入一个值,然后程序能够计算出这个数的谐波和。例如,如果用户输入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

我不断地犯错误,认为我的论点是错误的。任何帮助都将不胜感激

在这里您可以得到一个输入:

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个参数。谢谢