#!/usr/bin/env ruby # coding: utf-8 require "./kprintf.rb" require 'csv' # ja-math.csv: 氏名,国語,数学 score = CSV.read("ja-math.csv", headers:true) puts "元の並び:" print "--氏名--------------+-国語-+-数学-+-合計--\n" score.each do |row| name, ja, math = row["氏名"], row["国語"], row["数学"] total = ja.to_i + math.to_i printf("%-20s %5d %5d %5d\n", name, ja.to_i, math.to_i, total) end puts "-"*42 puts "国語上位から:" print "--氏名--------------+-国語-+-数学-+-合計--\n" score.sort_by{|x| x["国語"].to_i}.reverse.each do |row| name, ja, math = row["氏名"], row["国語"], row["数学"] total = math.to_i + ja.to_i printf("%-20s %5d %5d %5d\n", name, math.to_i, ja.to_i, total) end puts "-"*42