私は再帰的階乗関数のための非常に単純な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がこれをキャッチしていない理由はわかりません。何か案は?ありがとう。