Skip to content

VARSETEX

関数名 引数 戻り値
VARSETEX string, any(, int, int, int) 1

API

1 VARSETEX varName, value(, setAllDim, from, to)

本家版VARSETと似ています。直接識別子の代わりにvarNameで表した変数名の配列に、valueを代入します
setAllDim0以外または省略した場合、全ての次元の配列にvalueを代入、そうでない場合、最低次元の配列のみに代入します
fromtoで要素の始点、終点を指定できる(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