我正在学习Ruby,希望您能对我有所帮助。这是我的第一个问题:)
我正在锻炼并在其中具有以下哈希值的地方:
sales = {
January: 15000,
February: 22000,
March: 12000,
April: 17000,
May: 81000,
June: 13000,
July: 21000,
August: 41200,
September: 25000,
October: 21500,
November: 91000,
December: 21000
}
我需要创建一个新的哈希表,名称为Quarters,其中包含每三个月的总数。这将是输出:{"Q1"=>49000, "Q2"=>111000, "Q3"=>87200, "Q4"=>133500}
这是我能做的最好的事情:
Q1 = sales[:January] + sales[:February] + sales[:March]
Q2 = sales[:April] + sales[:May] + sales[:June]
Q3 = sales[:July] + sales[:August] + sales[:September]
Q4 = sales[:October] + sales[:November] + sales[:December]
quarters = {
"Q1"=> Q1,
"Q2"=> Q2,
"Q3"=> Q3,
"Q4"=> Q4
}
结果很好。我的问题是,有没有更好,更简单的方法来做到这一点?当然可以。练习中提到了each_slice方法。请解释您的答案。谢谢大家。
您可以使用Enumerable#each_slice
和Enumerable#each_slice
:
Enumerator#with_index