12.1 Глобальные переменные

Самый простой способ использовать переменную — глобально. Это означает, что у переменной в любой момент времени есть только одно значение, и это значение действует (по крайней мере, на данный момент) во всей системе Lisp. Значение остается в силе до тех пор, пока вы не укажете новое. Когда новое значение заменяет старое, не остается никаких следов старого значения в переменной.

Вы указываете значение для символа с помощью setq. Например,

(setq x '(a b))

присваивает переменной x значение (a b). Обратите внимание, что setq является специальной формой (см. Специальные формы); она не вычисляет свой первый аргумент, имя переменной, но вычисляет второй аргумент, новое значение.

Как только переменная имеет значение, вы можете обращаться к ней, используя сам символ в качестве выражения. Таким образом,

x ⇒ (a b)

при условии, что форма setq, показанная выше, уже была выполнена.

Если вы снова устанавливаете ту же переменную, новое значение заменяет старое:

x
     ⇒ (a b)
(setq x 4)
     ⇒ 4
x
     ⇒ 4