跳转至

RETURN

関数名 引数 戻り値
RETURN int(, int,...) 引数に同じ
RETURNFORM strng(, string,...) 引数に同じ(数値型に変換)

API

RETURN result:0(, result:1,...)
RETURNFORM formedString(, formedString,...)
引数で指定した値をRESULTに代入し、実行中の関数を終了する
RETURNは引数を左からRESULT:0, RESULT:1,...と代入する

RETURNFORMRETURNの亜種です。
引数に指定された書式付文字列を数式として解析し、RETURNを行います。
例えば、以下のようなことができます。

A = 100
CALL TEST
PRINTFORMW RESULT == {RESULT}

@TEST
STR = A * 10
RETURNFORM %STR%

RETURNと異なり、%は剰余演算子ではなく文字列式の開始とみなされるので注意してください。

;OK。Aの下2ケタを返す。
    RETURN A % 100

;エラー。%以降を文字列式として読もうとするので。
    RETURNFORM A % 100
また、複数の返り値に対応しています。
複数の返り値を指定した場合、先頭からRESULT:0、`RESULT:1``...という風に代入されます。

ヒント

命令のみ対応しています。

MAIN.ERB
@SYSTEM_TITLE 
    CALL AAA

    PRINTFORML {RESULT:0}, {RESULT:1}, {RESULT:2}

    CALL BBB

    PRINTFORMW {RESULT:0}

    @AAA
    RETURN 5, 7, 3

    @BBB
    #DIMS HOGES

    HOGES '= "3"*2

    RETURNFORM %HOGES%4
結果
    5, 7, 3
    334