在图形生成器中,将外部变量传递给“添加图形脚本()”。我在使用 JMP 的 JSL 语言编程时遇到一个问题。当我使用 `Add Graphics Script()` 函数自定义图形生成器时,外部作用域的变量在添加时没有作为值传递给脚本,导致出现错误。我尝试使用 `Eval()` 函数将变量转换为其值,但 `Add Graphics Script()` 函数会将 `Eval()` 调用本身传递给图形生成器,因此错误仍然存在。有没有一种正确的方法可以将外部变量的当前值注入到脚本中,以便它们在图形生成器上下文中得到正确的求值?
Names Default To Here( 1 );
rpt = Current Report();
cc = 1;
rpt[Frame Box( 1 )] << Add Graphics Script(
1,
Description( "" ),
Text( Center Justified, {0, 0}, cc )
);

名称未解析:访问或评估“cc”时出现 cc,cc/*###*/
自动化和脚本编写回复:在图形生成器中将外部变量传递给“添加图形脚本()”您需要在图形脚本内部对其进行求值。以下是使用 EvalExpr 的一种方法(Substitute 也是一个不错的选择)。
Names Default To Here(1);
rpt = Current Report();
cc = 1;
Eval(Eval Expr(
rpt[Frame Box(1)] << Add Graphics Script(
1,
Description(""),
Text(Center Justified, {0, 0}, Expr(cc))
)
));