Next: Vectors, Previous: Arrays, Up: Sequences Arrays Vectors [Contents][Index]
このセクションでは、すべての型の配列に適用される関数を説明します。
この関数は、objectが配列(ベクター、文字列、ブールベクター、文字テーブル)の場合は、t
をreturnします。
(arrayp [a])
⇒ t
(arrayp "asdf")
⇒ t
(arrayp (syntax-table)) ;; 文字テーブル。
⇒ t
この関数は、arrayのindex番目の要素をreturnします。1番目の要素のインデクスは0です。
(setq primes [2 3 5 7 11 13]) ⇒ [2 3 5 7 11 13] (aref primes 4) ⇒ 11
(aref "abcdefg" 1)
⇒ 98 ; ‘b’のASCIIコードは98。
Sequence Functionsの関数elt
も参照してください。
この関数は、arrayのindex番目の要素を、objectにセットします。この関数はobjectをeturnします。
(setq w [foo bar baz]) ⇒ [foo bar baz] (aset w 0 'fu) ⇒ fu w ⇒ [fu bar baz]
(setq x "asdfasfd") ⇒ "asdfasfd" (aset x 3 ?Z) ⇒ 90 x ⇒ "asdZasfd"
arrayが文字列でobjectが文字でない場合、結果はwrong-type-argument
エラーになります。この関数は、文字列の挿入で必要な場合は、ユニバイト文字列をマルチバイト文字列に変換します。
この関数は配列arrayをobjectで充填するので、arrayのすべての要素はobjectになります。この関数はarrayをreturnします。
(setq a [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 "When in the course") ⇒ "When in the course" (fillarray s ?-) ⇒ "------------------"
arrayが文字列でobjectが文字でない場合、結果はwrong-type-argument
エラーになります。
配列と判っているオブジェクトにたいしては、一般的なシーケンス関数copy-sequence
およびlength
が有用なときが多くあります。Sequence Functionsを参照してください。