自動的に印刷を行うには file open を使う。ただし書き込みモード w にする。
open("ファイル名","w") do |ファイル変数| ファイル変数.実行文 end
r, w の他に a モードがある。ここでまとめておこう。
r | Read | 読みこみモード |
w | Write | 書きこみモード |
a | Append | 追加書きこみモード |
open("ticket.txt","w") do |ticket|
ticket.printf("%s -- %s \n走行距離: %4.1f [km]\n",
stop[dept_n], stop[arvl_n], distance)
ticket.printf("料金: %d 円\n", p0 + grid * 20)
end
print("発券終了\n") # 印刷されたかの確認を標準出力
実行した結果を cat して確かめよう。
% cat ticket.txt 古口駅 -- 南野駅 走行距離: 21.9 [km] 料金: 560 円
データの確かめを行う。
pan{ta05001}% bc -l [~] 38.9 - 17.0 # 古口から南野まで 21.9 21.9 + 0.5 # 四捨五入 22.4 120 + 22 * 20 # 初乗りに走行距離とキロあたりの価格 560