General Handle Removal
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am looking for a better way to close out/clean up handle references.
Specifically: 1) 'Clear' removes the variable holding the handle ref, but doesn't clean it up. 2) 'Delete' cleans up the reference, but doesn't clear the variable. 3) If I delete an invalid handle, I get ugly warnings
Therefore I have been doing the following:
if isvalid(handlex)
delete(handlex)
end
clear handlex
It seems like there must be a better way to do this (or even a single command). Can anyone provide insight on a better way to do this (especially in larger programs with many independent handles) or help me understand why matlab doesn't have a better way?
thanks, Sean
0 commentaires
Réponse acceptée
Walter Roberson
le 16 Mai 2012
You are correct about the sequence.
Handles are not objects: they are references to objects. Many different references can exist to the same object.
Suppose you are in a meeting, and while you are listening, you doodle "I want my lunch" on a piece of paper. That piece of paper now has a reference to your lunch. If you throw out the piece of paper, you do not want your lunch to be automatically thrown out as well!
If there was a combined operation, you can be sure that many people would not understand and would misuse it, much like the many many postings we see that use "clear all" without understanding just how much "all" includes.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!