Effacer les filtres
Effacer les filtres

Create Diary in a function?

4 vues (au cours des 30 derniers jours)
Florian Rössing
Florian Rössing le 6 Mai 2022
I am currently working on a simulation project where I want progress logs to be written to a file, so I can inspect them later. I was using diary for this. However having the setup of diary in the main function look ugly and made it bulky, so I wanted to move all the setup and diary functionality to a seperate function alike this:
function createLogFile(RunPath)
diaryfile = append(RunPath, 'log.txt');
if exist(diaryfile, 'file')
RAII.diary = onCleanup(@() diary('off'));
diary on
However as soon as the function finishes the diary falls out of scope and is closed.
Is there a way to pass the diary out of the function?

Réponse acceptée

Walter Roberson
Walter Roberson le 6 Mai 2022
Return RAII from the function. Your onCleanup will not fire until the struct stops existing.
  4 commentaires
Florian Rössing
Florian Rössing le 9 Mai 2022
Thanks for that nice explanation. I believed taht RAII was some kind of system object that specifically has this attribute. The oddly specific and strange name led me to believe that.
Walter Roberson
Walter Roberson le 9 Mai 2022
https://en.cppreference.com/w/cpp/language/raii sounds plausible

Connectez-vous pour commenter.

Plus de réponses (0)




Community Treasure Hunt

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

Start Hunting!

Translated by