12.1 全局变量

使用变量最简单的方式是 全局(globally) 使用。这意味着一个变量同一时刻只有一个值,并且该值在整个 Lisp 系统中都生效(至少当前是如此)。这个值会一直有效,直到你为它指定新的值。当新值替换旧值后,变量中就不再保留旧值的痕迹。

你可以使用 setq 为一个符号指定值。例如:

(setq x '(a b))

将变量 x 的值设为 (a b)。注意,setq 是一个特殊形式(see 特殊形式):它不对第一个参数(即变量名)求值,但会对第二个参数(即新值)求值。

一旦变量拥有了值,你就可以直接将符号本身作为表达式来引用该变量。因此,

x ⇒ (a b)

假设上文所示的 setq 表达式已执行完毕。

若你再次为同一个变量赋值,新值会覆盖掉旧值:

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

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© 2025 Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike