J'ai écrit une fonction qui prend les noms et les valeurs des variables d'entrée et les écrit dans un fichier. par exemple.
a = 10;
b = 100;
writevars('file.txt',a,b);
me donne un fichier file.txt
qui contient:
\def\a{\num{10}}
\def\b{\num{100}}
J'aimerais maintenant être en mesure de transmettre toutes les variables trouvées en utilisant la commande who
. Par exemple si who
renvoie:
a b z
J'aimerais pouvoir utiliser writevars
comme si j'avais appelé writers('file.txt', a, b, z)
.
Le problème principal que j'ai est que writevars utilise inputname
... (les variables temporaires ne fonctionneront pas par exemple writevars('file.txt', 100)
ne fonctionne pas car il n'y a pas de nom à donner dans le fichier).
RÉPONSE
var_names = who;
for i = 1 : length(var_names)
evalin('caller',['writevars(''file.txt'', ' char(var_names(i)) ' )']);
end