0
我試圖讓這個函數在輸入 時顯示文字expr2和expr1。輸入的數據是(+ x y)的形式。爲Lisp函數返回參數
(DEFUN deriv (expr var) ; function name and arguments
(COND ((ATOM expr) ; check for atomic expression (variable or constant)
(IF (EQL expr var)
1
0
))
((EQL (FIRST expr) '+) (deriv-add (SECOND expr) (THIRD expr) var))
((EQL (FIRST expr) '-) (deriv-minus (SECOND expr) (THIRD expr) var))
((EQL (FIRST expr) '*) (deriv-multi (SECOND expr) (THIRD expr) var))
((EQL (FIRST expr) '/) (deriv-divide (SECOND expr) (THIRD expr) var))
(T (ERROR "UNKNOWN arithmetic operator"))
)
)
(DEFUN deriv-multi (expr1 expr2 var)
(LIST '+ (* (deriv expr1 var) expr2) (* expr1 (deriv expr2 var)))
)
(SETQ e2 '(* (+ x y) (+ y 7)))
(DERIV e2 'x)
我添加了更多的代碼,以更好地展示它試圖用於什麼。 – Brian
@Brian:expr1周圍的圓括號是什麼? –
對不起,這是一個錯誤。我刪除了它們。 – Brian