如何将变量值保存到新脚本你好,
我正在尝试将元数据保存到表中,因此下次打开文件时,我将能够使用构建表时使用的一些变量。
据我所知,目前只有字符串可以作为元数据保存到表中。
我尝试的其他选项是将新脚本保存到表中,其中将包含我需要的变量。
问题是我不明白如何使用“保存脚本”来添加变量值而不是变量名称。
例如我尝试过这个:
x = expr (a = [1,2,3]);
dt << New script ("test",char (x));这会生成带有 - char(x) 的脚本。
我尝试了我能想到的任何 expr/eval/parse 组合,但没有一个有帮助。
我只希望新脚本“测试”包括:
a = [1,2,3]
但是当我编写脚本时,我当然不知道 a 的实际值。
提前致谢
分享和交流结果回复:如何将变量值保存到新脚本中我喜欢使用 evalinsert 和 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));回复:如何将变量值保存到新脚本中略有不同,不一定更好:
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;
回复:如何将变量值保存到新脚本中感谢您的帮助。
我错过了使用“eval (eval expr(".."))”的选项
我最终使用的方式是这样的——
a = {1,2,3};
Eval(Eval Expr(dt << New script ("test",
a = expr (a);
)));这样,新的测试脚本现在包含“a = {1,2,3};”,这就是我想要的。
再次感谢。
回复:如何将变量值保存到新脚本中你好,
这符合您的要求吗?:
x = expr ("a = [1,2,3]");
eval(eval expr(dt << New script ("test",char (expr(parse(x))))));