Какая разница между невычисленным списком и списком? - Lisp

Узнай цену своей работы

Формулировка задачи:

Какая разница между невычисленным списком и списком? Я немного не врубаюсь прост.
 (defvar x 10)
 
X
* x
 
10
* (defvar k '(x x x))
 
K
* k
 
(X X X)
* (setf k (list x x x))
 
(10 10 10)
* k
 
(10 10 10)
* (defvar z '(x x x))
 
Z
* z
 
(X X X)
* (car z)
 
X
*
Почему (defvar k '(x x x)) не даст (10 10 10)?

Решение задачи: «Какая разница между невычисленным списком и списком?»

textual
Листинг программы
(let ((x 111)
      (y 222)
      (z 333)
      (u '(a b c))) 
   `(x ,x y ,y z ,z u ,u u ,@u))  
 
==> (x 111 y 222 z 333 u (a b c) u a b c)

Объяснение кода листинга программы

В данном коде используется функция let, которая создает четыре переменные: x, y, z, u. Переменным x, y, z присваиваются значения 111, 222, 333 соответственно. Переменной u присваивается список (a b c). Затем с помощью списковой нотации происходит присваивание значений переменным x, y, z, u. В результате получается список (x 111 y 222 z 333 u (a b c) u a b c).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы