在圖形產生器中,將外部變數傳遞給「新增圖形腳本()」。我在使用 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))
)
));