GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Vectors.html ・ emacs-doc.conao3.com

6.4 ベクトル

ベクトルとは、要素に任意のLispオブジェクトを格納できる汎用配列のことです。(これに対し、文字列の要素は文字に限られます。文字列と文字を参照してください。)ベクトルはEmacsにおいて、キーシーケンス(キーシーケンスを参照)、シンボル検索テーブル(シンボルの作成とインターニングを参照)、バイトコンパイル済み関数の表現の一部(バイトコンパイルを参照)など、多くの用途で使用されています。

他の配列と同様に、ベクトルも0始まりのインデックスを採用しており、最初の要素のインデックスは0となります。

ベクトルは、要素を角括弧で囲んで出力されます。したがって、要素が記号 a、b、a であるベクトルは、[a b a] として出力されます。Lispの入力においても、同様にベクトルを記述できます。

ベクトルは、文字列や数値と同様に、評価においては定数とみなされます。つまり、評価結果は同じベクトルになります。この際、ベクトルの要素が評価されたり、あるいは参照されたりすることはありません。自己評価形式を参照してください。角括弧で記述されたベクトルは、asetやその他の破壊的な操作によって変更してはいけません。可変性を参照してください。

これらの原則を示す例を以下に挙げます。

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