Поведение цитаты с векторами и комплексными числами в Common Lisp

После игры с векторами и комплексными числами в Common Lisp мне стало интересно кое-что. А именно, как quote оператор относится к этим структурам данных?

Например, когда дело доходит до списков, следующие примеры для меня просты:

CL-USER> '(1 2)
(1 2)
CL-USER> ''(1 2)
'(1 2)

Давайте сделаем то же самое с векторами:

CL-USER> #(1 2)
#(1 2)
CL-USER> '#(1 2)
#(1 2)
CL-USER> ''#(1 2)
'#(1 2)

И комплексные числа:

CL-USER> #c (1 2)
#C(1 2)
CL-USER> '#c (1 2)
#C(1 2)
CL-USER> ''#c (1 2)
'#C(1 2)

Чтобы сэкономить место, я просто скажу, что цитирование символов ведет себя аналогично.

Мой вопрос: почему # а также '# оценивается с тем же выражением? В чем причина этого? Каковы "кишки" этого механизма?

0 ответов

Другие вопросы по тегам