Copy-tree do Common Lisp: Quais objetos serão referenciados em comum pelo original e pela cópia?
eu estou lendoLisp Prático Comum, e tem uma pergunta sobre o LispCOPY-TREE
função.
O livro dá o exemplo de chamar
(copy-tree '( '(1 2) '(3 4) '(5 6)))
Depois de explicá-lo, o livro faz esta declaração:
Onde uma célula de cons no original referenciou um valor atômico, a célula de cons correspondente na cópia fará referência ao mesmo valor. Assim, os únicos objetos referenciados em comum pela árvore original e a cópia produzida por COPY-TREE são os números 5, 6 e o símbolo NIL.
Mas isso não faz sentido para mim. eu penseitodos os átomos seria compartilhado entre o original eo novo. Portanto, eu esperava que 1, 2, 3, 4, 5, 6 e NIL fossem todos compartilhados entre o original e a cópia, e que os únicos "novos objetos" seriam todas as células CONS.
Qual deles está correto e por quê?
Obrigado.