gpt4 book ai didi

lisp - 为什么需要在mapcar里面使用symbol-value来赋值?

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:43 25 4
gpt4 key购买 nike

如果我将 x 初始化为

(setf x 0)

然后我可以直接更改值

(setf x 1)

那么,在使用mapcar时,为什么我必须使用symbol-value来赋值给这个符号呢?

(mapcar #'(lambda (a b) 
(setf (symbol-value a) b))
'(x)
'(1))

这与报价有关吗?

最佳答案

首先不要用setf来初始化,通过defvar来定义变量或 defparameter .

其次,你从你的 '(x) 中获取符号 'X,而不是一个位置,与 setf 一起使用,所以你需要通过符号值获取位置,然后使用 setf 宏设置它.

关于lisp - 为什么需要在mapcar里面使用symbol-value来赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26112553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com