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の部分において、内部的にスタックを使用している。