VARSETEX¶
| 関数名 | 引数 | 戻り値 |
|---|---|---|
VARSETEX | string, any(, int, int, int) | 1 |
API
1 VARSETEX varName, value(, setAllDim, from, to)
本家版VARSETと似ています。直接識別子の代わりにvarNameで表した変数名の配列に、valueを代入します
setAllDimが0以外または省略した場合、全ての次元の配列にvalueを代入、そうでない場合、最低次元の配列のみに代入します
fromとtoで要素の始点、終点を指定できる(to位置の要素は含まない)。toを省略した場合、当次元の配列の最後尾まで代入、fromを省略した場合,当次元の配列開始位置0から代入します。
ヒント
命令、式中関数両方対応しています。
例
DEFINE.ERH
#DIM 整数配列 = 1, 2, 3, 4, 5, 6
#DIM 整数配列2D, 3, 4
MAIN.ERB
@SYSTEM_TITLE
#DIMS ローカル文字列 = "Cat1", "Cat2", "Cat3"
#DIM i
#DIM j
; 第二引数の省略:v8に実装予定
; VARSETEX "ローカル文字列"
VARSETEX "ローカル文字列", "dog"
FOR i, 0, 3
PRINTS ローカル文字列:i+" "
NEXT
PRINTL
; 一元配列に対して,第三引数はいくつでもいい
VARSETEX "整数配列", -1, 0, 3, 5
FOR i, 0, 6
PRINTFORM {整数配列:i}
NEXT
PRINTL
; 開始位置は1行の位置2だから、第四引数が1ですが2から始まる
; 第三引は0だから配列1だけ有効
VARSETEX "整数配列2D:1:2", -1, 0, 1
FOR j, 0, 3
PRINTFORM 配列{j} ->
FOR i, 0, 4
PRINTFORM {整数配列2D:j:i, 2, RIGHT}
NEXT
PRINTL
NEXT
PRINTL
VARSET 整数配列2D
; 第三引は省略した場合
VARSETEX "整数配列2D:1:2", -1
FOR j, 0, 3
PRINTFORM 配列{j} ->
FOR i, 0, 4
PRINTFORM {整数配列2D:j:i, 2, RIGHT}
NEXT
PRINTL
NEXT
ONEINPUT
結果
dog dog dog
1 2 3 -1 -1 6
配列0 -> 0 0 0 0
配列1 -> 0 0 -1 -1
配列2 -> 0 0 0 0
配列0 -> 0 0 -1 -1
配列1 -> 0 0 -1 -1
配列2 -> 0 0 -1 -1