how to do a command line only if it is possible?

2 vues (au cours des 30 derniers jours)
Luigi Bruno
Luigi Bruno le 9 Août 2016
Commenté : John D'Errico le 9 Août 2016
Dear all, sorry for the "stupid" question. I am writing a code and sometimes happens that i want to recall a previous setting only if it exists, so i am using try as following
try setting=previous_setting; catch end
in this way if the previous setting exists it will used, if not nothing happens. Now i think that using try and catch is not so nice since it should be used for error tracing. Do you have any advice (i would not like to use if)? thank you all catch end
in this way if the previous setting exists it will used, if not nothing happens. Now i think that using try and catch is not so nice since it should be used for error tracing. Do you have any advice (i would not like to use if)? thank you all

Réponse acceptée

Thorsten
Thorsten le 9 Août 2016
if exist('previous_setting')
end
If previous_setting is variable, use
exist('previous_setting', 1)
if it is an m-file, use
exist('previous_setting', h)
See
help exist
for further options.
  3 commentaires
Luigi Bruno
Luigi Bruno le 9 Août 2016
thank you for the answer. i would use the lowest number of strings in the code (this is why i dont want to use if). So if according to you there is no error to use try w/o catch i will proceed like that.
John D'Errico
John D'Errico le 9 Août 2016
As I pointed out in the test though, exist is faster. If this is a question of milliseconds, it may not matter. Much time is spent by programmers looking for an optimal solution, when the cost is only a few milliseconds. Of course, if the code will be executed thousands or millions of times you should worry about the difference. But for something that will happen once, even one second of programmer time spent on the choice is a net waste of time.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Performance and Memory 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!

Translated by