-2
我正在寫一個程序,從文件中讀取信息,但是當我嘗試讀取由於某種原因,我的計數變量沒有被增加的信息。變量沒有被遞增口齒不清環
(defun fill-lib()
(with-open-file (s-stream "/Users/David/Desktop/CS/CS_408/LISP/Books.txt"
:direction :input)
(loop
(cond((> count 1) (return "Library filled")))
(setf (aref *lib* count)
(make-instance 'book :title (read s-stream)
:author (read s-stream)
:genre (read s-stream)))
(setq count (+ count 1)))))
我有一種感覺,因爲我沒有正確使用循環,但我不完全確定我該如何解決這個問題。
1)不要使用未聲明的變量(如計數)。 2)什麼是'(> count 1)'第一次應該做什麼,當沒有值分配計數? 3)你可能想'incf'而不是'(setq count(+ count 1))'。 4)你沒有顯示任何錯誤信息或類似的東西。是什麼讓你認爲「你的計數變量沒有增加」?在我看來,你會得到一些其他的錯誤,並且可能還有一些編譯器警告(甚至在你嘗試運行你的代碼之前)。 –
作爲什麼?我認爲你的評論是缺少的東西 –
對不起,我有變量計數初始化爲:(setq計數0)我開始懷疑我可能只是由於某種原因閱讀我的文件的第一行。 – plzHelp