このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
関数完了時のクリンアップ作業
cleanupObj = onCleanup (
は,破棄されるときに関数cleanupFun
)cleanupFun
を実行するオブジェクトを作成します。MATLAB®は正常終了であるか,エラやCtrl + Cなどの強制終了であるかに関係なく,関数が終了する際にすべてのロカル変数を暗黙的にクリアします。
関数外でcleanupObj
を参照したり渡す場合には,その関数が終了してもcleanupFun
は動作しません。代わりに,matlabがそのオブジェクトを破棄した際には必ず動作します。
クリンアップ中は入れ子関数の使用を避けるようにしてください。クリーンアップ関数が読み取る前に,MATLABが入れ子関数に使用される変数を消去する可能性があります。
自分のプログラム内に複数のクリーンアップオブジェクトがある場合には,MATLABではこれらのオブジェクトを破棄する順序は保証されません。クリンアップ関数の順序が問題となる場合には,すべての作業に対してonCleanup
オブジェクトを1だけ定義するようにします。
onCleanup
オブジェクトを保存すると,matlabは警告を表示し,cleanupFun
クリンアップ作業を保存しません。