Size: a a a

2020 March 06

СС

Сергей Суржик in Lisp Forever
Google
Спецификатор для вспомогательных (aux) переменных. Они не являются параметрами. Если указан ключевой символ &aux, все спецификаторы после него являются спецификаторами вспомогательных переменных.
источник

СС

Сергей Суржик in Lisp Forever
nconc
(defun drop (v w &aux (a (car w)) (d (cdr w)))
 (cond ((null w) nil)
       ((and (listp a)
             (intersection v a)) (drop v d))
       ((cons a (drop v d)))))

CL-USER> (drop '(1 2) '((0) (1) (1 2) (3 4)))
((0) (3 4))
это то что надо. спасибо.
источник

СС

Сергей Суржик in Lisp Forever
читаю о cons car cdr etc.
* (cdr '(1 2))
(2)

* (cdr '(1 . 2))
2

может кто пояснить почему так? почему при использовании точечной пары возвращается число а не список?
источник

ХЛ

Хороший Лисичко in Lisp Forever
Сергей Суржик
читаю о cons car cdr etc.
* (cdr '(1 2))
(2)

* (cdr '(1 . 2))
2

может кто пояснить почему так? почему при использовании точечной пары возвращается число а не список?
'(1 . 2) = (cons 1 2)
источник

ХЛ

Хороший Лисичко in Lisp Forever
Сергей Суржик
читаю о cons car cdr etc.
* (cdr '(1 2))
(2)

* (cdr '(1 . 2))
2

может кто пояснить почему так? почему при использовании точечной пары возвращается число а не список?
'(1 2) = (cons 1 (cons 2 '()))
источник

СС

Сергей Суржик in Lisp Forever
это я понимаю)
источник

n

nconc in Lisp Forever
akater
Мне казалось, там все серьезно. По CL вообще бывают учебные задания [в некоторой окрестности этого чата]?
Бывают
источник

ХЛ

Хороший Лисичко in Lisp Forever
Сергей Суржик
это я понимаю)
Тогда что не понятно?
источник

VM

Vyacheslav Mikushev in Lisp Forever
Вот в этой главе все подробно описано. http://gigamonkeys.com/book/they-called-it-lisp-for-a-reason-list-processing.html
источник

ХЛ

Хороший Лисичко in Lisp Forever
cdr возвращает второй элемент cons пары
источник

VM

Vyacheslav Mikushev in Lisp Forever
Там еще есть картинки, которые позволят понять почему так.
источник

n

nconc in Lisp Forever
источник

СС

Сергей Суржик in Lisp Forever
ух ты. спасибо.
источник

СС

Сергей Суржик in Lisp Forever
Vyacheslav Mikushev
Вот в этой главе все подробно описано. http://gigamonkeys.com/book/they-called-it-lisp-for-a-reason-list-processing.html
спасибо. это и нашел как раз. читаю.
источник

AE

Alexey Egorov in Lisp Forever
Сергей Суржик
Google
Спецификатор для вспомогательных (aux) переменных. Они не являются параметрами. Если указан ключевой символ &aux, все спецификаторы после него являются спецификаторами вспомогательных переменных.
Что такое вспомогательная переменная?
источник

СС

Сергей Суржик in Lisp Forever
источник

AE

Alexey Egorov in Lisp Forever
>С &aux переменными можно делать то же, что и со оператором let*:
источник

AE

Alexey Egorov in Lisp Forever
Так я и думал.
источник

СС

Сергей Суржик in Lisp Forever
а там ведь написано
источник

СС

Сергей Суржик in Lisp Forever
Что использовать зависит только от стиля.
источник