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

6.3 配列を操作する関数

この節では、あらゆる種類の配列を受け取る関数について説明します。

関数: arrayp object

この関数は、object が配列(すなわち、ベクトル、文字列、bool型ベクトル、またはchar型テーブル)である場合に t を返します。

(arrayp [a])
     ⇒ t
(arrayp "asdf")
     ⇒ t
(arrayp (syntax-table))    ;; A char-table.
     ⇒ t
関数: aref arr index

この関数は、配列またはレコード arr の index 番目の要素を返します。最初の要素のインデックスは 0 です。

(setq primes [2 3 5 7 11 13])
     ⇒ [2 3 5 7 11 13]
(aref primes 4)
     ⇒ 11
(aref "abcdefg" 1)
     ⇒ 98           ; ‘b’ is ASCII code 98.

数列の関数 elt も参照してください。

関数: aset array index object

この関数は、arrayのindex番目の要素をobjectに設定します。objectを返します。

(setq w (vector 'foo 'bar 'baz))
     ⇒ [foo bar baz]
(aset w 0 'fu)
     ⇒ fu
w
     ⇒ [fu bar baz]

;; copy-sequence copies the string to be modified later.
(setq x (copy-sequence "asdfasfd"))
     ⇒ "asdfasfd"
(aset x 3 ?Z)
     ⇒ 90
x
     ⇒ "asdZasfd"

arrayは変更可能である必要があります。可変性を参照してください。

array が文字列で、object が文字でない場合、wrong-type-argument エラーが発生します。文字列の変更に関する詳細については、文字列の変更を参照してください。

関数: fillarray array object

この関数は、配列 array を object で埋め、array の各要素が object となるようにします。そして、array を返します。

(setq a (copy-sequence [a b c d e f g]))
     ⇒ [a b c d e f g]
(fillarray a 0)
     ⇒ [0 0 0 0 0 0 0]
a
     ⇒ [0 0 0 0 0 0 0]
(setq s (copy-sequence "When in the course"))
     ⇒ "When in the course"
(fillarray s ?-)
     ⇒ "------------------"

array が文字列で、object が文字でない場合、wrong-type-argument エラーが発生します。

汎用シーケンス関数 copy-sequence および length は、配列であることが分かっているオブジェクトに対して有用なことが多いです。シーケンス を参照してください。