Next: Char-Tables, Previous: Vectors, Up: Sequences Arrays Vectors
ベクトルに関連した関数はつぎのとおりです。
この関数は、引数objectsを要素とするベクトルを作成しそれを返す。
(vector 'foo 23 [bar baz] "rats") [foo 23 [bar baz] "rats"] (vector) []
この関数は、各要素をobjectに初期化した length個の要素から成る新たなベクトルを返す。
(setq sleepy (make-vector 9 'Z)) [Z Z Z Z Z Z Z Z Z]
この関数は、sequencesのすべての要素を入れた新たなベクトルを返す。 引数sequencesは、リスト、ベクトル、文字列を含む任意の配列でよい。 sequencesを指定しないと空ベクトルを返す。
その値は、既存のベクトルと
eq
でない新たに作成したベクトルである。(setq a (vconcat '(A B C) '(D E F))) [A B C D E F] (eq a (vconcat a)) nil (vconcat) [] (vconcat [A B C] "aa" '(foo (6 7))) [A B C 97 97 foo (6 7)]関数
vconcat
は、引数としてバイトコード関数でも受け付ける。 これは、バイトコード関数オブジェクトの全内容を簡単に参照できるように するための特別な機能である。 see Byte-Code Objects。関数
vconcat
は、引数として整数も受け付ける。 整数はその10進の表示表現の文字列に変換してから、 その文字列を整数のかわりに使う。 この機能を使わないでほしい。 削除する予定である。 読者がこの機能を使っていたら、今すぐプログラムを直すこと! 整数をこのような10進数に変換する正しい方法は、format
(see Formatting Strings)やnumber-to-string
(see String Conversion)を使うことである。他の連結関数については、 Mapping Functionsの
mapconcat
、 Creating Stringsのconcat
、 Building Listsのappend
を参照。
関数append
は、ベクトルを同じ要素から成るリストへ変換する便利な方法です
(see Building Lists)。
(setq avector [1 two (quote (three)) "four" [five]]) [1 two (quote (three)) "four" [five]] (append avector nil) (1 two (quote (three)) "four" [five])