s = 0 button gosub "とれま", *gogo button goto "戻る", *modoru *@ wait 10 title str(s) s+=1 goto *@back *gogo dialog "戻るでもどれや" stop *modoru return
上記プログラムのように、例えばgosubの飛び先でユーザーの選択を待つ場合。
待機するときにstopを使うと、returnでは戻れなくなりますよね(エラーが出る)。しかし、
内部sublevは維持されています。つまり、戻れそうなんだけど戻れないような仕組みに
なっているわけです。
こういう場合は単純に、gosub使うなモジュールにしろや、って話に普通はなりますが、
ひとつ思ったのは「なぜ戻れないのかしら、あるいはスタック破棄を明示できないかしら」と。
スタックは保持されてるようだし、でも戻れないのならこれまでのスタックを破棄できれば
後で考えることが少なくなっていいよなあ、と。
こんな話、殆ど聞いたことがないのでなんかオレの考え方がおかしいようにも思います。
「○○な問題が起きるだろバ───カ!」など、いろいろご教示いただければ。(u´ω`)