« 青大豆の煮豆 | トップページ | 今日の野良仕事 »

2008年2月14日 (木)

ログの解析

日記代わりに使用していた、掲示板の投稿記録1件は

all my child<>dvkq@hotmail.com<>http://all-my-child.group-love.com<>all my child<>Good site. Thanks.<br><>2006/08/23 16:52:58

のように名前、メールアドレス、url 、タイトル、コメント、投稿時間の順に”<>”で区切られ、改行で終了として記録されている。これは不正書き込みされた例であるが。

始めに“log.dat"を一つのstringに変換する事を試みた。

(define s (make-string 0))
(call-with-input-file
    "/Users/yasuo/Desktop/log.dat"
  (lambda (inport)
    (let loop ((c (read-char inport)))
      (if (eof-object? c)
          'done
          (begin
            (if (eq? #¥" c)
                (make-string 1 #¥¥))
            (set! s (string-append s (make-string 1 c)))
            (loop (read-char inport))))))

凄く時間が掛る。
一文字追加する毎に前のデータを参照するので、データ量が増えてくると読み出すのに時間が掛るのだろう。
失敗。

|

« 青大豆の煮豆 | トップページ | 今日の野良仕事 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 青大豆の煮豆 | トップページ | 今日の野良仕事 »