06/05/26 (Fri)5月26日の雑記
■ [Ruby/RGSS]

うーむ、実に適当な解決策。でも結構良いかもしれません。
一応またURLを書いておきます。 http://milkey.net/~rpgxp/blog/scene.zip
サブルーチンをすべて終了するときは、mainメソッドの中で
# サブルーチン終了 return "clear"
をすれば良いことになっています。
で、すべて終了した後に実行したい処理があるときは、それをProcオブジェクトを使って書いておきます。
proc = lambda{ print("サブルーチンが全部終わったよ!") }
これをreturnの後ろにつけるだけです。
# サブルーチン終了 return "clear", proc
これで、サブルーチンの処理を終えた後に、目的の処理がproc.callによって自動的に実行されます。
Procというと難しそうな感じがありますが、何のことはなく、ただlambda{}の括弧の中のプログラムが順次実行されるに過ぎません。
これ以上やっても仕様が肥大化するだけだから、この辺にしておこうかな。
コメントを書く