这次Ruby挑战所需的解释

时间:2016-01-16 03:56:26

标签: ruby

我需要一些帮助来理解这段代码:

def SimpleAdding(num)
  sum = 0
  (num + 1).times do |x|
    sum = sum + x
  end
  return sum
end

SimpleAdding(12) #=> 78
SimpleAdding(140) #=> 9870

我不确定这个方法。为什么这个方法按照它的方式编写?为什么第一行的sum设置为0?为什么sum = sum + x在第三行使用?

1 个答案:

答案 0 :(得分:1)

在Ruby中,def 关键字分隔方法的开头,在您的案例中为SimpleAdding。它需要一个名为num参数(在括号中)。

在方法正文中,变量 sum的初始值为0

包含(num + 1).times do |x|的行告诉Ruby在doend关键字之间执行一定次数的代码(迭代器),在此情况1}}。请记住,num + 1表示调用方法时以参数形式接收的值。

在下一行,变量num(在方法开头初始化为sum已分配自身的值加0

下一行,我们的迭代器x s。

最后,我们end存储在变量return内的值。

而且,我们方法的sum

喜欢学习Ruby!