#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'csv'
# ./mydata.rb CSVファイル名
# のように起動するとそのファイルを読む。
data = CSV.read(ARGV[0] || "mydata.csv", headers:true)
#(1)カラムで選ぶ
print "属性、最大MP、初期MP のどれを出しますか: "
sel = STDIN.gets.chomp # 後ろにファイル名をつけて起動するときは
# STDIN.gets とする必要がある
data.each do |row|
printf("%sの%sは%sです。\n", row["名前"], sel, row[sel])
end
#(2)最大MPで選ぶ
print "最大MPの下限: "
kagen = STDIN.gets.to_i
print "最大MPの上限: "
jogen = STDIN.gets.to_i
data.each do |row|
mp = row["最大MP"].to_i # 文字列なので整数化しておく
if mp >= kagen && mp <= jogen
printf("%sの最大MPは%dです。\n", row["名前"], mp)
end
end
#(3)属性で選ぶ
puts "属性一覧:"
puts data["属性"]
print "どの属性にしますか: "
zoku = STDIN.gets.chomp
data.each do |row|
if zoku == row["属性"]
printf("%sの属性は%sです。\n", row["名前"], row["属性"])
end
end