2016-02-14 70 views
-1

這是我自己寫的:如何使用格式化函數的Common-Lisp讀取文件?

(defun test (x) 
    (with-open-file (stream x :if-does-not-exist nil) 
    (let ((read-line-1 (read-line stream)) 
      ((read-line-2 (read-line stream))) 
     (format t "This is the test-1  ~s~%" read-line-1) 
     (format t "This is the test-2  ~s~%" read-line-2)))) 

我只是想知道如何讀取一個文件,感謝

+0

你想要什麼:打印(如問題標題中)或閱讀(如在問題中)?目前還不清楚你想要做什麼以及你的實際問題是什麼。 –

回答

0

你在你的代碼基本錯字,你周圍read-line-2綁定額外的括號。你可能想要的是

(let ((read-line-1 (read-line-stream)) 
     (read-line-2 (read-line-stream))) ... 

如果輸入的是,根據標準自動縮進Lisp代碼在編輯器中,你發佈的代碼,你會看到你的format線實際上是在要求綁定變量命名的格式。如果您嘗試編譯您發佈的代碼,您的編譯器可能會抱怨(read-line-2 ...不是符號。

如果修復了額外的括號,問題的第二部分可能是參數x需要是「路徑名指示符」,您可能沒有正確指定您的實現。

(test-2 #P"/home/user/fammmm/foo.txt") 

可能是你想要的。