Rubyで作る簡単なアクセスカウンタ(コマンドライン版)。
Rubyの入門が終わったので早速実践です(早!!
最初のテーマはやっぱりアクセスカウンタでしょ!簡単で応用範囲も広い!!
Apacheの設定が終わってないので、コマンドライン用でいきまっす。
プログラムの流れ
リクエストを受け取る ↓ ファイルを読み込む ↓ 文字列を数値に直して1足す。 ↓ (数値を文字列にして)ファイルを書き込む ↓ カウンタ表示
counter.rb
fp = open("count.txt", "r") count = fp.gets.to_i + 1 fp.close fp = open("count.txt", "w") fp.print count fp.close print count
count.txtを用意して、早速、実行〜
$ ruby counter.rb 1
なんだかRubyっぽくない気がするけど、最初のプログラムなのでこんなもん。ファイルロック、HTTPヘッダorSSI、多重カウント防止、アクセス解析等を付ければ立派なWebアプリに成長するでしょう(やる気無し)。Rubyにはまりそう〜。
rewindを覚えた。
counter.rb
open("count.txt", "r+") { |file| count = file.gets.to_i + 1 file.rewind file.print count file.close print count }
あ〜スッキリ。fpはファイルポインタなので、file(オブジェクト)に命名変更しました。