#!/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