nconc を使用したいくつかの実験の結果を理解するのにいくつかの問題に直面しています。
(setf x '(a b c))
(setf y '(1 2 3))
(nconc x y) ; => x = (A B C 1 2 3), y = (1 2 3)
私が読んだことから、nconc は x の残りのフィールドを y を指すように変更します。
(setf (nth 1 y) 10) ; => x = (A B C 1 10 3), y = (1 10 3)
ここまでは順調ですね。
(setf y '(4 5 6)) ; => x = (A B C 1 10 3) y = (4 5 6)
x がまだ古いコンス セルを参照しているのはなぜですか。つまり、y の再代入によって y のアドレスのデータが変更されるだけではないのですか?
前もってありがとうマイケル