小保哥

博客园 首页 新随笔 联系 订阅 管理

; 获取文件中的所有行

(map list->string
       (with-input-from-file filename
         (λ ()
           (let loop ((ls1 '()) (ch (read-char)) (ret '()))
             (if (eof-object? ch)
                 (begin
                   (if (null? ls1)
                       (reverse ret)
                       (reverse (cons (reverse ls1) ret))))
                 (if (or (eq? ch #\Linefeed)
                         (eq? ch #\Newline))   ; #\Return
                     (if (null? ls1)
                         (loop '() (read-char) ret)
                         (loop '() (read-char) (cons (reverse ls1) ret)))
                     (loop (cons ch ls1) (read-char) ret)))))))




; 拼成完整文件

(define (read-file filename)
    (apply string-append .....))

posted on 2012-12-15 16:27  小保哥  阅读(183)  评论(0)    收藏  举报