Ruby 初心者スレッド Part 39
■ このスレッドは過去ログ倉庫に格納されています
0241225
2010/10/30(土) 14:16:10最終的な出力形式に合わせて変更してみた。ただし、中間データの形式は、
(>>234の「ハッシュのハッシュ」ではなく、)「ハッシュのリスト」にしている。
def calc3(input_data)
input_data.map { |month, sales|
{
:month => month,
:sales => sales,
:sum => sales.inject(0) { |result, sale| result + sale }
}
}.sort_by { |record|
record[:sum]
}.reverse.each { |record|
month = record[:month]
sales = record[:sales]
sum = record[:sum]
printf("%2d月 %s %4d¥n",
month,
sales.map { |sale| format("%3d", sale) }.join(' '),
sum
)
}
nil
end
(実行結果は次のカキコで)
■ このスレッドは過去ログ倉庫に格納されています