3

タイトルは自明です。別のリスト Y (同じ構造) から新しいリスト X を作成するにはどうすればよいですか?結果のリストはメモリ領域の別の場所、実際には別のオブジェクトを指していますか? 空のリストを使用または追加しようとしmake-list :initial-element Yましたが、それでも同じオブジェクトが得られます。ありがとう!

4

3 に答える 3

12

Common Lisp

COPY-LISTを使用して、最初の一覧レベルをコピーします。

COPY-TREEを使用してコンスのツリーをコピーすると、マルチレベル リストがすべてのレベルにコピーされます。

COPY-TREE と COPY-LIST はどちらもコンスのみをコピーし、他には何もコピーしません。リスト内のものは同じままです (EQ ではなく EQL を意味します)。

これらおよび関連する関数については、Common Lisp HyperSpec のThe Conses Dictionaryを参照してください。

于 2009-11-14T15:52:08.040 に答える
3

おそらくCOPY-LISTを使いたいでしょう。

于 2009-11-14T15:38:40.093 に答える