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