Имеется следующий код:
(defvar a nil)
(defvar b nil)
(setq a '((0 0 0)
(0 0 0)
(0 0 0)))
(setq b '((1 0 0)
(2 0 0)
(3 0 0)))
(defun out (x)
(dolist (i x)
(format t "~a~%" i))
(format t "~%"))
(out a)
(out b)
(setf (nth 1 (nth 1 a)) 1)
(setf (nth 1 (nth 1 b)) 1)
(out a)
(out b)
Выводит следующее:
(0 0 0)
(0 0 0)
(0 0 0)
(1 0 0)
(2 0 0)
(3 0 0)
(0 1 0)
(0 1 0)
(0 1 0)
(1 0 0)
(2 1 0)
(3 0 0)
Почему setf работает так странно? sbcl 1.0.6.40
Ответ на:
комментарий
от stassats
Ответ на:
комментарий
от watashiwa_daredeska
Ответ на:
комментарий
от mv
Ответ на:
комментарий
от watashiwa_daredeska
Ответ на:
комментарий
от stassats
Ответ на:
комментарий
от stassats
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [common lisp] Макрос: перевести 'index' в ':index' (2011)
- Форум Как сконструировать лист (2020)
- Форум Выравнивание в функции emacs lisp (2019)
- Форум Можно ли переписать рекурсивную функцию с двумя листами в итеративную (2020)
- Форум lisp & gnuplot (2006)
- Форум Ltk не могу понять, что не работает (2019)
- Форум Старая, добрая рекурсия но в labels (2023)
- Форум [clisp] запустите скрипт у себя (2010)
- Форум читал старые треды лора (2009)
- Форум Я что то недопонимаю в setf в sbcl (2011)