Executing code that's dynamically written to a file

2 visualizzazioni (ultimi 30 giorni)
Hi all,
My goal is to write a function that executes whatever is copied to the clipboard. Importantly however, I'd like to place this code into a script, so that if an error occurs, the location of the error can be identified via 'dbstop if error'.
I've written code that does this, however Matlab doesn't seem to update it's 'compiled' version of the script until after execution. Thus, only after I run the code twice does the code actually reflect what is in the clipboard. The first time it is written and any old code is actually run. The second time through the new code is present and executed.
i.e.
1st run - write to script, execute old code from script in memory
2nd run - write to script (not really needed), execute new code that was placed in memory after exiting first run
I thought about creating a timer, but code in a timer tends to execute in the ether without easy debugging support. Besides wrapping my timer in a try/catch, is there some other way to force updating the definition of the file or to throw some event based callbacks which would update the file?
Thanks, Jim
  2 Commenti
Mukul Rao
Mukul Rao il 23 Giu 2015
Hi Jim, would it possible to include the code as an attachment? Further can you also specify the version of MATLAB you are working with. Based on the information provided , I would recommend using the function "rehash" right after you create your script file. This will update the list of known files and classes. Here is the documentation link for the "rehash" command for more information:
Jim Hokanson
Jim Hokanson il 23 Giu 2015
It makes calls to other functions in that repo. Thanks for the suggestion although 'clear' works very well so I'm going to use that.
I will tend to copy examples in my documentation that are commented out and then type this command in the command window. It needs a bit of work but it is nice to have errors be debuggable rather than just seeing an error in the command window.

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 23 Giu 2015
What happens if you "clear" the script from memory before invoking it?
  1 Commento
Jim Hokanson
Jim Hokanson il 23 Giu 2015
Doh! Obviously. I tend to forget that clear isn't specific to variables. That works perfectly. Thanks.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Environment and Settings 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