Next: , Previous: , Up: Sequences Arrays Vectors   [Contents][Index]


6.4 ベクター

ベクター(vector)とは任意のLispオブジェクトを要素にもつことができる、一般用途のための配列です(対照的に文字列の要素は文字のみ。Strings and Charactersを参照)。Emacsではベクターはキーシーケンス(Key Sequencesを参照)、シンボル検索用のテーブル(Creating Symbolsを参照)、バイトコンパイルされた関数表現の一部(Byte Compilationを参照)などの多くの目的で使用されます。

他の配列と同様、ベクターは0基準のインデックスづけを使用し、1番目の要素はインデックス0になります。

ベクターは角カッコ(square brackets)で囲まれた要素としてプリントされます。したがってシンボルabaを要素にもつベクターは、[a b a]とプリントされます。Lisp入力として同じ方法でベクターを記述できます。

文字列や数値と同様にベクターは定数として評価され、評価された結果は同じベクターになります。ベクターの要素は評価も確認もされません。Self-Evaluating Formsを参照してください。角カッコ(square brackets)で記述されたベクターをasetや他の破壊的操作を通じて修正しないでください。Mutabilityを参照してください。

以下はこれらの原理を表す例です:

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