NScripter研究defsubとgetparam

あんだけ使い倒しておいて今まで放っておいた部分を検証。getparamについて。

問題

defsubで二つの命令command1とcommand2を自作する。
command1は引数を一つ取り、command2は引数を二つ取る。(数字に意味はない。引数の数が違うことが重要)
command1は、その実装ルーチンの内部において、getparam実行前にcommand2を実行する。
command2はやはりgetparamを内包している。
これでエラーは出るか出ないか。

検証

*define
defsub sample1
defsub sample2
game
*sample1
sample2 %100,%101
getparam i%100
%100の中身は:%%100
return
*sample2
getparam i%102,i%103
%102の中身は:%%102
%103の中身は:%%103
return
*start
mov %50,100
sample1 %50
click
end

結果

エラーは全く出ず、意図したとおりに動いた。

考察

NScripterはgosubとその発展系のdefsubの部分において、内部的にスタックを使用している。