データは、文字列を空白で分けて作成する。 空白は Tab キーで作ると作業が早く進む。 train.dat
つばさ 新庄 陸羽西線 13350
とき 新潟 いなほ 13880
とき 新潟 きらきらうえつ 12790
羽田空港で飛行機 庄内空港 バス 22810
改良版 ary_train_b.rb を作る。
#!/usr/koeki/bin/ruby
$KCODE = 'e'
first = Array.new # 最初に乗る列車名
change = Array.new # 乗り換え先
second = Array.new # 次に乗る列車名
fee = Array.new # 料金
n = 0 # 経路をしまう変数
while train = gets
# p train
if /(\S+)\s+(\S+)\s+(\S+)\s+(\d+)/ =~ train
# p train
first[n] = $1
change[n] = $2
second[n] = $3
fee[n] = $4.to_i
n += 1
end
end
p first
p change
p second
p fee
i = 0
while i < first.length
printf("経路%d: \n", i )
printf("東京からは%sに乗り%sで%sに乗り換えて酒田まで行きます\n",
first[i], change[i], second[i])
printf("料金は%d円です\n", fee[i])
i += 1
end
print("検索終了\n")
実行方法と、 使われている仕組みをそれぞれみてみよう。