#!/usr/bin/env ruby
require 'csv'
seiseki = CSV.read("csv-seiseki.csv", headers:true)
# headers:true をつけるとヘッダ(見出し)行がある前提で読み込む。
# ヘッダ行は
# 項目名1,項目名2,項目名3,……
# のような並びで、その列の項目の意味を示す。
# csv-seiseki.csv は試験の点数集計で以下のようになっている。
# 受験番号,得点
# j001,59
# j002,58
seiseki.each_with_index do |row, i|
bangou = row["受験番号"]
tokuten = row["得点"]
printf("%d人目(%s)の得点は%d点です。\n", i+1, bangou, tokuten)
end
# 得点から平均点を求める
tokuten = seiseki["得点"] # [項目名] の添字で項目縦1列を全部取り出せる
sum = 0.0 # 小数計算をするときは .0 の小数をつけておく
tokuten.each do |x|
sum += x.to_i
end
printf("合計=%d点,平均%.3f点でした。\n", sum, sum/tokuten.length)
# sum=0 だけにするとどうなるか確かめよう。