General Handle Removal
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Walter Roberson
el 16 de Mayo de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!