データをいちいち指定しなければならないのは面倒なので、 プログラムに指定しておくことにする。cutout.rb から readdata.rb を作る。open -- end を用い、ファイルを指定しする。 データを開いて (OPEN) 読み込むのでモードは r(Read) である。
#!/usr/koeki/bin/ruby STDERR.print "検索パターン : " pattern = STDIN.gets.chomp request = Regexp.new(pattern, true, "e") open("station.dat","r") do |candidate| while station = candidate.gets if request =~ station # print station if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ station printf("%s駅\n", $1) end end end end
実行は
./readdata.rb
だけでよい。
# open("ファイル名","モード") do |変数| # : # 変数 に対して行う処理 # : # endMadoka Nishimura <madoka.koeki-u.ac.jp>