データは、文字列を空白で分けて作成する。 空白は Tab キーで作ると作業が早く進む。 train.dat
つばさ 新庄 陸羽西線 とき 新潟 いなほ とき 新潟 きらきらうえつ 羽田空港で飛行機 庄内空港 バス
改良版 train_b.rb を作る。
#!/usr/koeki/bin/ruby combi = Array.new n = 0 print("東京から酒田へ行く方法を探します:\n
") while train_data = gets if /(\S+
)\s+
(\S+
)\s+
(\S+
)/ =~ train_data combi[0] = $1 combi[1] = $2 combi[2] = $3 end printf("経路 %d\n
",n+1) printf("東京からは %s に乗り、%s で %s に乗り換えて酒田まで行きます\n
", combi[0],combi[1],combi[2]) n += 1 end print("検索終了\n
")
実行方法と、 使われている仕組みをそれぞれみてみよう。
Madoka Nishimura <madoka.koeki-u.ac.jp>