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

6 シーケンス、配列、ベクトル

シーケンス型は、Lispの他の2つの型であるリストと配列の和集合です。言い換えれば、あらゆるリストはシーケンスであり、あらゆる配列もシーケンスです。すべてのシーケンスに共通する特性は、それぞれが要素の順序付き集合であるということです。

配列とは、各要素に対応するスロットを持つ固定長のオブジェクトです。すべての要素に定数時間でアクセスできます。配列には、文字列、ベクトル、文字テーブル、ブールベクトルの4種類があります。

リストは要素の並びですが、単一のプリミティブオブジェクトではなく、要素ごとに1つのコンスセルで構成されています。n番目の要素を探すにはn個のコンスセルを調べる必要があるため、リストの先頭から遠い要素ほどアクセスに時間がかかります。ただし、リストに要素を追加したり、要素を削除したりすることは可能です。

以下の図は、これらの型の関係を示しています。

          _____________________________________________
         |                                             |
         |          Sequence                           |
         |  ______   ________________________________  |
         | |      | |                                | |
         | | List | |             Array              | |
         | |      | |    ________       ________     | |
         | |______| |   |        |     |        |    | |
         |          |   | Vector |     | String |    | |
         |          |   |________|     |________|    | |
         |          |  ____________   _____________  | |
         |          | |            | |             | | |
         |          | | Char-table | | Bool-vector | | |
         |          | |____________| |_____________| | |
         |          |________________________________| |
         |_____________________________________________|