#!/usr/bin/env ruby # -*- coding: utf-8 -*- require 'csv' # ./mydata-N.rb CSVファイル 170 190 # ----------- --- --- # ARGV[0] | +--ARGV[2] # +---ARGV[1] meibo = CSV.read(ARGV[0], headers:true) lower = ARGV[1].to_f # 指定されないとARGV[1]は nil になる upper = ARGV[2].to_f # 指定されないとARGV[2]は nil になる # nilを to_f すると0になるので無条件でto_fはよくない # if ARGV[2] then # ARGV[2]が無指定のときの処理……のように書く必要がある # end meibo.each do |record| height = record["身長"].to_f if lower <= height && height <= upper printf("%sさんの身長は%.1fcmです.\n", record["氏名"], height) end end