Pau*_*han 1 lisp common-lisp
给定一个功能:
(defun foo (bar) (let ((baz bar)) (setf baz (+ baz 1)))
我被赋予了理解(也许是错误的?)baz成为某种对bar的引用,而不是bar的真正副本.
我想要做的是创建一个真正的临时变量,以便我可以确保我可以使用我想要的传入变量,而不会产生任何副作用.
Ken*_*Ken 5
我想我宁愿说" baz成为对同一事物bar的引用".但你是对的,let不做任何复制.
baz
bar
let
如果你想复制一份bar,你当然可以,虽然你如何做到这一点取决于什么bar:列表,矢量等.
对于好奇的人,肯特·皮特曼写了一篇关于"为什么没有通用的COPY功能?"这一主题的精彩文章.
归档时间:
15 年,2 月 前
查看次数:
856 次
最近记录: