Counter (つづき)
前回作った
カウンターの不具合を修正してみました。
Counter 0.2
前回同様、クライアント JavaScript とサーバーの Ruby CGI で非同期通信します。
Ajax (Asyncronous JavaScript +XML) と呼ばれる方式です。
エラー処理を変更しただけなので、実行結果は前回と代わり映えしないのですが。
実行結果
counter02.html
ソース
counter02.html
- 6行目:counter.js ではなく counter02.js を呼び出すよう変更しました。
- 15行目:3番目ではなく4番目のカウンターを使用するよう変更しました。
counter02.js
- 61行目:counter01.rb ではなく counter02.rb を呼び出すよう変更しました。
counter02.rb
- 変数 fp は io という名前に変更しました。
- 11行目:open ではなく File.open を呼び出すよう変更しました。変えなくても動くと思います。オープンモードは読み書き両用の "r+" にしました。
- 12行目:flock でファイルをロックするようにしました。
- 15行目:上書きするためファイルポインタを先頭に戻します。
- 17行目:書き込みもエラー処理内に含めるようにしました。
- 23行目:ロックを解除しています。
- 24行目:例外の有無にかかわらず実行される ensure の中でファイルをクローズするようにしました。