如果我将x
初始化为
(setf x 0)
然后我可以通过
直接更改值(setf x 1)
因此,在使用mapcar
时,为什么必须使用symbol-value
分配给此符号?
(mapcar #'(lambda (a b)
(setf (symbol-value a) b))
'(x)
'(1))
是否与报价有关?
答案 0 :(得分:1)
首先,不要使用setf进行初始化,按defvar
或defparameter
定义变量。
其次,你从'(x)而不是地方获得符号'X,与setf
一起使用,所以你需要按符号值来放置,然后用setf宏设置它。