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

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

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

Какая разница между невычисленным списком и списком? Я немного не врубаюсь прост.
Листинг программы
  1. (defvar x 10)
  2. X
  3. * x
  4. 10
  5. * (defvar k '(x x x))
  6. K
  7. * k
  8. (X X X)
  9. * (setf k (list x x x))
  10. (10 10 10)
  11. * k
  12. (10 10 10)
  13. * (defvar z '(x x x))
  14. Z
  15. * z
  16. (X X X)
  17. * (car z)
  18. X
  19. *
Почему (defvar k '(x x x)) не даст (10 10 10)?

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

textual
Листинг программы
  1. (let ((x 111)
  2.       (y 222)
  3.       (z 333)
  4.       (u '(a b c)))
  5.    `(x ,x y ,y z ,z u ,u u ,@u))  
  6.  
  7. ==> (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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы