我正在尝试用另一个符号示例替换列表中的符号:(替换 'the 'a '(坐在垫子上的猫))==>(坐在垫子上的猫)所以应该替换“the”通过“一个”
这是我的代码,
(defun replace (item new-item list)
(cond ((null list)
list
)
((eq (first list) (item))
((rplaca list new-item)
(replace (rest list))))
))
;rplace replace the first of the cons with obj
;(defparameter *some-list* (list* 'one 'two 'three 'four)) => *some-list*
;*some-list* => (ONE TWO THREE . FOUR)
;(rplaca *some-list* 'uno) => (UNO TWO THREE . FOUR)
当我在 aligra 中编译它时出现以下错误
Error: Function position must contain a symbol or lambda expression: (RPLACA LIST NEW-ITEM)
[condition type: PARSE-ERROR]
我不明白为什么会给出这个错误,因为 rplace 函数需要两个参数。