Executing code that's dynamically written to a file
4 views (last 30 days)
Show older comments
Jim Hokanson
on 22 Jun 2015
Commented: Jim Hokanson
on 23 Jun 2015
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 Comments
Mukul Rao
on 23 Jun 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:
Accepted Answer
More Answers (0)
See Also
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!