¿Cómo guardo valores de variables en un nuevo script?Hola,
Estoy tratando de guardar metadatos en una tabla, así que la próxima vez que abra el archivo podré usar algunas variables que usé cuando construí la tabla.
Entiendo que actualmente solo las cadenas se pueden guardar como metadatos en la tabla.
Las otras opciones que probé son guardar un nuevo script en la tabla que incluirá las variables que necesito.
el problema es que no entiendo cómo usar "Guardar secuencia de comandos" de una manera que agregue el valor de la variable en lugar del nombre de la variable.
por ejemplo probé esto:
x = expr (a = [1,2,3]);
dt << New script ("test",char (x));lo que da como resultado un script con - char(x).
Intenté cualquier combinación de expr/eval/parse que se me ocurriera, pero ninguna me ayudó.
Solo quiero que la nueva "prueba" del script incluya:
a = [1,2,3]
pero cuando estoy escribiendo el guión, por supuesto, no sé el valor real de a.
Gracias por adelantado
secuencias de comandosRe: ¿Cómo guardo valores de variables en un nuevo script?Me gusta usar evalinsert y 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: ¿Cómo guardo valores de variables en un nuevo script?Ligeramente diferente, no necesariamente mejor:
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: ¿Cómo guardo valores de variables en un nuevo script?Gracias por tu ayuda.
Perdí la opción de usar "eval (eval expr(".."))"
La forma en que finalmente lo usé fue así:
a = {1,2,3};
Eval(Eval Expr(dt << New script ("test",
a = expr (a);
)));de esta manera, el nuevo script de prueba ahora incluye "a = {1,2,3};", que es lo que quería.
Gracias de nuevo.
Re: ¿Cómo guardo valores de variables en un nuevo script?Hola,
¿Esto hace lo que estás buscando?:
x = expr ("a = [1,2,3]");
eval(eval expr(dt << New script ("test",char (expr(parse(x))))));