English help on website



refcall(サブルーチン)(Ver9.35対応版)
目次− refcall(サブルーチン)
 refcallは、callとほぼ同じのサブルーチンの呼び出しです。(V9.12以降)
 呼び出し元で指定されるパラメータの変数の読み書きができるという違いがあります。
 パラメータは、必ず変数名だけを指定する必要があります。
 callとは違い、例えばパラメータに"string"といった文字列そのものや、$a+$bといった式を指定することはできません。

    $a="aaa";
    refcall Sub $a;
    message $a; //"bbb"になっている
    endmacro;

Sub:
    $$temp=$$1;//$aを読む
    $$1="bbb"; //$aに書く
    return;

配列の名前を指定することもできます。
    $array[0]="a";
    $array[1]="b";
    $array[2]="c";
    refcall Sub $array;
    menuarray $array, 3; //"x", "y", "z" になっている
    endmacro;

Sub:
    $$1[0]="x"; //$array[0]に書く
    $$1[1]="y"; //$array[1]に書く
    $$1[2]="z"; //$array[2]に書く
    return;