RUBYの宿題教えてください。
■ このスレッドは過去ログ倉庫に格納されています
0880デフォルトの名無しさん
2007/12/28(金) 15:44:12書いてみたよ。
名前のあとに、()付きで平均をいれた。
そのままでもよさそうだが、一応小数点第一位までに。
def heikin (l)
l.inject(0.0) {|r, v| r + v } / l.size
end
num_name = /\A(\w+\s+\w+)/
ARGF.readlines.map do
|line|
next unless hyouka = line.match(/#{num_name}\s+(.+)\Z/).to_a[2]
[heikin(hyouka.scan(/\w+:(\d+)/).map {|it,| it.to_i }), line]
end.
sort_by {|v,| v } .
map {|h, l| l.sub(num_name, "\\1 (#{(h * 10).floor / 10.0 })") } . # <<
reverse .
display
■ このスレッドは過去ログ倉庫に格納されています