2017-04-05 70 views
0

我目前正在處理一個問題,我必須逐行讀取一個壓縮文件,並進一步處理每一行,並對其進行處理。通用lisp逐行讀取gzipped流行

我設法使用下面的代碼從標準輸入讀取:

(defun process() 

    (princ (split-sequence:split-sequence #\Space (read-line)))) 

(defun main (args) 
    (process)) 

*這將是一個命令行工具

哪裏跑它作爲:

cat file.txt | ./executable 

能正常工作,但它只打印第一行。我假設我必須在第一部分中插入某種形式的循環,但我不確定這是如何完成的。

謝謝你的幫助!

回答

1

我解決了這個使用:

(loop for line = (read-line) ; stream, no error, :eof value 
    until (eq line :eof) 
    do (princ line))