Какая разница между невычисленным списком и списком? - 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)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д