#!/usr/koeki/bin/ruby sum = 0 menu = [] price = [] i = 1 open("price.txt", "r") do |neta| # price.txtを読み込みモードで開く while line = neta.gets # ファイルから1行ずつ読む if /(\w+)\s+(\d+)円/e =~ line # (数字)円 というパターンがあれば menu[i] = $1 # $1 は商品名 price[i] = $2.to_i # $2 が「数字」に当てはまるので整数化 printf "%3d %s", i, line # 商品番号と、読み込んだ行を画面表示 end i += 1 end end while true print "御注文は(番号で入れてね、q で終了)?: " line=gets.chomp! # ユーザの入力を line に入れる if line == "q" # 入力が "q" なら break # 終了 end number = line.to_i # 整数(メニュー番号)にする if number < 1 || number >= i puts "そんなメニューねぇでガス" redo end printf "はぁ〜い、「%s」一丁\n", menu[number] sum += price[number] end print "おあいそでガス\n" printf "全部で %d 円でガス。まいどっ\n", sum*1.05