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

6.2 配列

配列オブジェクトは、配列の要素と呼ばれる複数の他のLispオブジェクトを保持するスロットを持っています。配列の任意の要素には定数時間でアクセスできます。これに対し、リストの要素にアクセスする時間は、その要素のリスト内での位置に比例します。

Emacsでは4種類の配列が定義されており、いずれも1次元です。文字列(文字列型を参照)、ベクトル(ベクトル型を参照)、bool-vector(Bool-Vector型を参照)、およびchar-table(Char-Table型を参照)です。ベクトルとchar-tableは任意の型の要素を保持できますが、文字列は文字のみを、bool-vectorはtとnilのみを保持できます。

4種類すべての配列に共通する特徴は以下の通りです。

char-table以外の配列を作成する際は、その長さを指定する必要があります。char-tableの長さは文字コードの範囲によって決まるため、指定することはできません。

原則として、テキスト文字の配列が必要な場合は、文字列かベクトルのいずれかを使用できます。実際には、こうした用途には常に文字列を選択しますが、それには4つの理由があります。

これに対し、キーボード入力文字の配列(キーシーケンスなど)の場合、多くのキーボード入力文字が文字列に収まる範囲外となるため、ベクトルが必要になることがあります。キーシーケンス入力を参照してください。