我需要一些帮助来理解这段代码:
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
在第三行使用?
答案 0 :(得分:1)
在Ruby中,def
关键字分隔方法的开头,在您的案例中为SimpleAdding
。它需要一个名为num
的参数(在括号中)。
在方法正文中,变量 sum
的初始值为0
。
包含(num + 1).times do |x|
的行告诉Ruby在do
和end
关键字之间执行一定次数的代码(迭代器),在此情况1}}。请记住,num + 1
表示调用方法时以参数形式接收的值。
在下一行,变量num
(在方法开头初始化为sum
)已分配自身的值加0
。
下一行,我们的迭代器x
s。
最后,我们end
存储在变量return
内的值。
而且,我们方法的sum
。
喜欢学习Ruby!