我正在为递归阶乘函数编写一个非常简单的 lisp 代码。当使用号码调用时,它工作正常。但是,当我尝试使用不是数字的东西(例如 a)来调用它时,我收到以下错误:
错误:尝试获取未绑定变量“A”的值。[条件类型:UNBOUND-VARIABLE]
但是,这应该包含在我的代码中。这是我的代码:
(defun FactorialRec (num)
(cond
((not(numberp num))
(princ "Argument must be a number.")
(terpri)
())
((equal num 1) ;base case
1)
((<= 1 num) (* num(FactorialRec (- num 1))))
)
)
我不知道为什么 numberp 没有抓住这个。有任何想法吗?谢谢。