« 今日の野良仕事 | トップページ | ログの解析 続き »

2008年2月15日 (金)

ログの解析 続き

空きリストlogを作り、1件毎にstringに変換しlistにした。
「改行」を検出したらsをlogに追加しsを空にし文字を読み続ける。

速度はかなり改善された。

; 1行(1件)を1stringにしlistにする
(define s (make-string 0)) (define log ()) (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? #\newline c)                 (begin                   (set! log (append log (list s)))                   (set! s ""))                 (begin                   (if (eq? #\" c)                       (make-string 1 #\\))                   (set! s (string-append s (make-string 1 c)))))             (loop (read-char inport)))))))

日記は一行毎にstringに変換されlogにlist形式に格納される。

|

« 今日の野良仕事 | トップページ | ログの解析 続き »

コメント

コメントを書く



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


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



« 今日の野良仕事 | トップページ | ログの解析 続き »