Practical Common Lispを読んでいて、Lisp のCOPY-TREE
機能について質問があります。
この本は、呼び出しの例を示しています
(copy-tree '( '(1 2) '(3 4) '(5 6)))
それを説明した後、本書は次のように述べています。
元のコンス セルが原子値を参照していた場合、コピー内の対応するコンス セルは同じ値を参照します。したがって、元のツリーと COPY-TREE によって作成されたコピーによって共通に参照されるオブジェクトは、数字 5、6、および記号 NIL だけです。
しかし、それは私には意味がありません。私はすべての原子がオリジナルと新しいものの間で共有されると思っていました。したがって、1、2、3、4、5、6、および NIL はすべてオリジナルとコピーの間で共有され、唯一の「新しいオブジェクト」はすべての CONS セルになると予想しました。
どちらが正しいですか、なぜですか?
ありがとう。