將解析表達式的內容(而非變數名稱)插入新腳本中我希望透過組合腳本來擴展@Craige_Hales 的優秀答案, 將變數/表達式的內容而不是變數名稱插入新腳本中,但還沒有弄清楚語法。有什麼想法可以讓它發揮作用嗎?
我正在使用 JMP 18.1.2
Names Default To Here( 1 );
dt = New Table( "My Table" );
e1 = Expr(
Print( "Run some code." )
);
e2 = Expr(
Print( "Run some other code." )
);
e3 = Expr(
Parse( Eval Insert( "\[
^e1^;
^e2^;
]\" ) )
);
// These work.
Eval( Eval Expr( dt << New Script( "Test 1", Expr( Name Expr( e1 ) ) ) ) );
Eval( Eval Expr( dt << New Script( "Test 2", Expr( Name Expr( e2 ) ) ) ) );
// This does not work.
Eval( Eval Expr( dt << New Script( "Test 3", Expr( Name Expr( e3 ) ) ) ) );
自動化和腳本視窗回覆:將解析表達式的內容(而非變數名稱)插入新腳本中列印你的 e3 以查看其包含的內容
Name Expr(e3) = Parse(Eval Insert("
^e1^;
^e2^;
"));
這可能就是你正在尋找的
Names Default To Here(1);
dt = New Table("My Table");
e1 = Expr(Print("Run some code."));
e2 = Expr(
Print("Run some other code.")
);
e3 = Parse(Eval Insert("\[
^Name Expr(e1)^;
^Name Expr(e2)^;
]\"));
Eval(Eval Expr(dt << New Script("Test 3", Expr(Name Expr(e3)))));
我通常會避免使用 Parse,因為它的調試非常困難
Names Default To Here(1);
dt = New Table("My Table");
e1 = Expr(Print("Run some code."));
e2 = Expr(
Print("Run some other code.")
);
e3 = EvalExpr(
Expr(Name Expr(e1));
Expr(Name Expr(e2));
);
Eval(Eval Expr(dt << New Script("Test 3", Expr(Name Expr(e3)))));
回覆:將解析表達式的內容(而非變數名稱)插入新腳本中出色的!