【发布时间】:2021-01-16 16:23:09
【问题描述】:
对于 Ruby 来说还是个新手。菜鸟问题,请多多包涵。并提前感谢您。 我喜欢 .each 方法而不是 while 循环之类的方法。 while 循环让我感到困惑。我喜欢 .each 方法的简洁性。我可以使用 .each 方法来解决下面的这个问题吗?我正在努力弄清楚我是否可以使用这种样式循环。
感谢您的帮助!
def sum_nums(max)
puts sum_nums(4) # => 10, because 1 + 2 + 3 + 4 = 10
puts sum_nums(5) # => 15
【问题讨论】:
-
我不太明白你的问题,但如果你需要计算算术级数,你可以使用
(1..5).reduce(:+) -
@AndreiKovrov 或
(1..5).sum使用较新的红宝石。 -
对于@mu 的评论,
(1..5).sum从范围的端点计算算术级数的总和:5*(1+5)/2 #=> 15。 -
...以及范围的大小(我的示例中的第一个 '5')。