自動的に印刷を行うには 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