Update Class without restarting matlab

13 visualizzazioni (ultimi 30 giorni)
Jonas Reber
Jonas Reber il 6 Apr 2011
Commentato: Vasco il 17 Set 2020
Hello Matlabers
I am working on a GUI and have implemented some of my own classes (all stored in @classname folder with subfunctions in there too - as told on the mathworks website).
When I need to do some changes to methods/functions in my classes, they somehow do not get updated after saving. When I restart my gui (where tha objects are created) I still get the old implementations.
I always close all the windows/guis and do "close all" but this does not seem to work - even "pack" has no influence.
Thus I found that in order to have an updated class I need to restart my Matlab and then things work perfectly.
There has to be a more convenient way, hasn't it?

Risposta accettata

Robert Cumming
Robert Cumming il 6 Apr 2011
This is because Matlab does a certain amount of cacheing of classes in memory - as indicated by Walter the way to update is to use
clear classes
  4 Commenti
Jonas Reber
Jonas Reber il 12 Apr 2011
perfect, thank you!
Vasco
Vasco il 17 Set 2020
Is there a way to only reload a specific class?
When developing code, I quite often only change one class. Reloading all classes (and rereading data) takes significant time.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 6 Apr 2011
Have you tried using "clear" of the class? Have you tried using "rehash", perhaps even "rehash toolboxcache" ?
  1 Commento
Peter Manley-Cooke
Peter Manley-Cooke il 6 Apr 2011
As in the command "clear classes". You will then need to re-instantiate you classes. I do it by restarting the GUI.

Accedi per commentare.

Categorie

Scopri di più su Class Introspection and Metadata in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by