Изменение существующей структуры списка
Вы можете изменить содержимое CAR и CDR ячейки cons с помощью примитивов setcar и setcdr. Это деструктивные операции, так как они изменяют существующую структуру списка. Деструктивные операции следует применять только к изменяемым спискам, то есть спискам, созданным с помощью cons, list или аналогичных операций. Списки, созданные с помощью цитирования, являются частью программы и не должны изменяться деструктивными операциями. См. Изменяемость.
Примечание Common Lisp: Common Lisp использует функции
rplacaиrplacdдля изменения структуры списка; они изменяют структуру так же, какsetcarиsetcdr, но функции Common Lisp возвращают ячейку cons, в то время какsetcarиsetcdrвозвращают новую CAR или CDR.
| • Setcar | Замена элемента в списке. | |
| • Setcdr | Замена части остова списка. Это может использоваться для удаления или добавления элементов. | |
| • Перестановка | Переупорядочение элементов в списке; объединение списков. |
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Modifying-Lists.html