配列と呼ばれることもある。
リテラル表現
#("Sapporo" "Tokyo" "Nagoya" "Osaka" "Fukuoka") → array[5]:1845232
makeVector
(makeVector サイズ [初期値])
(setq cities (makeVector 5) "") cities → array[5]:1796257
listToVector
リストオブジェクトをベクトルオブジェクトに変換する。
(listToVector '("Sapporo" "Tokyo" "Nagoya" "Osaka" "Fukuoka")) → array[5]:1456823
vectorToList
ベクトルオブジェクトをリストオブジェクトに変換する。
(vectorToList #("Sapporo" "Tokyo" "Nagoya" "Osaka" "Fukuoka")) → ("Sapporo" "Tokyo" "Nagoya" "Osaka" "Fukuoka")
declare
変数名をつれてベクトルを生成する。
; 配列の定義 (declare cities[5])
setarray
特定の位置の要素への値の代入。Scheme言語の vector-set! 関数の代替である。
(setq cities (makeVector 5)) (setarray cities 0 "Sapporo") (setarray cities 1 "Tokyo") (setarray cities 2 "Nagoya") (setarray cities 3 "Osaka") (setarray cities 4 "Fukuoka")
「変数名[位置] = 値」の形式の糖衣構文も使える。
cities[0] = "Sapporo" cities[1] = "Tokyo" cities[2] = "Nagoya" cities[3] = "Osaka" cities[4] = "Fukuoka"
arrayref
特定の位置の要素の値を読み出す。Scheme言語の vector-ref 関数の代替である。
(setq budget #(12.5 10.1 11.7 13.3 12.0 14.2 13.5 12.8 14.6 11.5 10.7 11.6)) (setq quarter1 (plus (arrayref budget 0) (arrayref budget 1) (arrayref budget 2)))
「変数名[位置]」の形式の糖衣構文も使える
(setq quarter1 (plus budget[0] budget[1] budget[2]))