comment puis-je enregistrer les valeurs des variables dans un nouveau scriptSalut,
J'essaie de sauvegarder les métadonnées dans une table, donc la prochaine fois que j'ouvrirai le fichier, je pourrai utiliser certaines variables que j'ai utilisées lors de la construction de la table.
Je comprends qu'actuellement, seules les chaînes peuvent être enregistrées en tant que métadonnées dans la table.
Les autres options que j'ai essayées consistent à enregistrer un nouveau script dans la table qui inclura les variables dont j'ai besoin.
le problème est que je ne comprends pas comment utiliser le "Save Script" d'une manière qui ajoutera la valeur de la variable au lieu du nom de la variable.
par exemple j'ai essayé ceci :
x = expr (a = [1,2,3]);
dt << New script ("test",char (x));ce qui aboutit à un script avec - char(x).
J'ai essayé n'importe quelle combinaison expr/eval/parse à laquelle je pouvais penser, mais aucune d'entre elles n'a aidé.
Je veux juste que le nouveau script "test" inclue :
une = [1,2,3]
mais quand j'écris le script, bien sûr, je ne connais pas la valeur réelle de a.
Merci d'avance
Partager et communiquer les résultatsRe : Comment puis-je enregistrer les valeurs des variables dans un nouveau scriptJ'aime utiliser evalinsert et eval(parse()).
dt = New Table( "Untitled 8",
Add Rows( 2 ),
New Column( "Column 1", Character, "Nominal", Set Values( {"a", "b"} ) )
);
a1 = "a = [1, 2, 3]";
b1 = evalinsert("\[dt << new script("test", ^a1^)]\");
eval(parse(b1));Re : Comment puis-je enregistrer les valeurs des variables dans un nouveau scriptUn peu différent, pas forcément meilleur :
NamesDefaultToHere(1);
dt = NewTable("Test");
myScript =
Expr(
a = {1, 2, 3, 4};
Speak(a);
);
addScript =
Expr(
dt << NewScript(nTBD, sTBD)
);
SubstituteInto(
addScript,
Expr(nTBD), "My Script",
Expr(sTBD), EvalExpr(myScript)
);
addScript;
Re : Comment puis-je enregistrer les valeurs des variables dans un nouveau scriptMerci pour votre aide.
J'ai raté l'option d'utiliser "eval (eval expr(".."))"
La façon dont je l'ai finalement utilisé était comme ça -
a = {1,2,3};
Eval(Eval Expr(dt << New script ("test",
a = expr (a);
)));de cette façon, le nouveau script de test inclut désormais "a = {1,2,3};", ce que je voulais.
Merci encore.
Re : Comment puis-je enregistrer les valeurs des variables dans un nouveau scriptSalut,
Est-ce que cela fait ce que vous recherchez ? :
x = expr ("a = [1,2,3]");
eval(eval expr(dt << New script ("test",char (expr(parse(x))))));