在clisp
上加載以下2個函數會成功。sbcl未定義的變量,而不是clisp
(defun func1 (l)
(defvar *count* nil)
(setq count 1)
(cond ((null l) 0)
((atom l) (+ count 1))
((atom (car l)) (+ count (func1 (cdr l))))
((listp (car l)) (+ (func1 (car l)) (func1 (cdr l))))
(t nil)) )
(defun func2 (l)
(defvar *resLis* nil)
(setq resLis '((0 0)))
(anotherFunc l resLis)
)
然而,sbcl
原因錯誤:
warning: undefined variable: COUNT
warning: undefined variable: RESLIS
Compilation failed.
我更喜歡使用sbcl
(因爲我只slime
與它順利),但是這有什麼錯上面的代碼?
環境:Ubuntu的11.10,GNU CLISP 2.49,SBCL 1.0.50.0.debian
在那裏做什麼冒號? – 2012-03-17 08:55:04
正如我在@Arlen Cuss的回答中所提到的,我只是試圖簡化,認爲這部分對於這個問題並不重要。由於2人想知道,我修改了我的問題添加隱藏部分。 – IsaacS 2012-03-17 14:09:04