6.4 向量

向量(vector) 是一种通用数组,其元素可以是任意 Lisp 对象。(与之相对,字符串的元素只能是字符。See 字符串与字符。)向量在 Emacs 中有多种用途:用作按键序列(see Key Sequences)、用作符号查找表(see 创建与编入符号)、作为字节编译函数表示形式的一部分(see 字节编译)等。

与其他数组一样,向量使用从零开始的索引:第一个元素的索引为 0。

向量在打印时会用方括号把元素括起来。因此,元素为符号 aba 的向量会被打印为 [a b a]。你在 Lisp 输入中也可以用同样的方式书写向量。

向量与字符串、数字一样,在求值时被视为常量:对它求值的结果就是向量本身。这一过程不会对向量的元素进行求值,甚至不会检查。See 自求值形式。 用方括号书写的向量不应该通过 aset 或其他破坏性操作进行修改。See 可变性

以下示例说明了这些规则:

(setq avector [1 two '(three) "four" [five]])
     ⇒ [1 two '(three) "four" [five]]
(eval avector)
     ⇒ [1 two '(three) "four" [five]]
(eq avector (eval avector))
     ⇒ t
emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© 2025 Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike