有没有一种很好的方法来计算红宝石范围元素的总和
您可以使用Enumerable
方法的范围对象,在这种情况下使用Enumerable#inject
:现在
(4..10).inject(:+)
#=> 49
,用Ruby 2.4.0你可以使用Enumerable#sum
(4..10).sum
#=> 49
简短而好,谢谢! –
由于这是选定的答案,因此您可以将0添加为标识值,否则您将无空值范围。 – tokland
是的! :)
(1..5).to_a.inject(:+)
而对于视觉表示
(1..5).to_a.join("+")+"="+(1..5).inject(:+).to_s
'to_a'都是不必要的。 – tokland
哦,很高兴知道谢谢你,我是新的红宝石只是,我有同样的问题之前,作为初级红宝石开发我做了,如在文档:) –
(4..10).to_a * " + " + " = 15"
#=> 4 + 5 + 6 + 7 + 8 + 9 + 10 = 15
:)
错字更正 –
但是答案是钢酷=) –
@lurker 49当然=))错字 –
为什么疯狂地急于选择一个答案?快速选择可能会阻止其他答案,并使那些仍在准备答案的人短路。没有急于。许多人在这里等待至少几个小时。 –
@CarySwoveland当两只巨大的狗想走在那里时没有时间去纠正错误! –