Vlax-safearray-fill

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年8月30日 (日) 06:40時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vlax-safearray-fill var 'element-values)


機能
セーフ配列の要素にデータを格納する。


引数
  • var : データ タイプがセーフ配列の変数。
  • 'element-values : 配列に格納する値のリスト。配列の要素と同数の変数を指定することができる。要素数よりも少ない値しか指定しなかった場合は、残りの要素は現在の値を保持する。多次元配列に対しての element-values 引数は、各リストが配列の次元数に一致した、リストのリストでなければならない。


戻り値
var


サンプル
倍精度実数の 1 次元配列を作成する。
(setq sa (vlax-make-safearray vlax-vbdouble '(0 . 2)))
#<safearray...>
vlax-safearray-fill 関数を使用して、配列に値を代入する。
(vlax-safearray-fill sa '(1 2 3))
#<safearray...>
配列の内容をリストにする。
(vlax-safearray->list sa)
(1.0 2.0 3.0)
vlax-safearray-fill 関数を使用して、配列の最初の要素を設定する。
(vlax-safearray-fill sa '(-66))
#<safearray...>
配列の内容をリストにする。
(vlax-safearray->list sa)
(-66.0 2.0 3.0)
配列の最初の要素だけが変更されたことに注意。残りの要素には影響がなく、以前それらに設定された値が保持されている。2 番目または 3 番目の要素を変更し、最初の要素はそのままにしておきたいときは、vlax-safearray-put-element 関数を使用する。
要素が 3 つしかない配列の 4 番目の要素を設定するように、vlax-safearray-fill 関数に命令する。
(vlax-safearray-fill sa '(1 2 3 4))
エラー: safearray-fill が失敗しました. 初期化リストが不正です. 
配列の要素よりも多くの要素を指定すると、vlax-safearray-fill 関数はエラーを返す。
複数次元の配列に値を割り当てるには、vlax‑safearray-fill 関数に、次元に対応する各リストからなるリストを指定する。 次のコマンドは、各次元に 3 要素を含む文字列の 2 次元配列を作成する。
(setq mat2 (vlax-make-safearray vlax-vbString '(0 . 1) '(1 . 3)))
#<safearray...>
vlax-safearray-fill 関数を使用して、配列に値を代入する。
(vlax-safearray-fill mat2 '(("a" "b" "c") ("d" "e" "f")))
#<safearray...>
mat2 の内容を確認するには、vlax‑safearray‑>list 関数を使用する。
(vlax-safearray->list mat2)
(("a" "b" "c") ("d" "e" "f"))



関連事項