對多個命令使用一個變數大家好,
我正在尋找一種方法來使用變數代替單一命令來代替多個命令行。當我運行此命令時,“堆疊”視窗將打開,而不是執行變數中包含的其他命令。我也嘗試過使用 EVAL() 和 PARSE() 的組合,但沒有更好的結果。
如果我使用的術語不正確,我深表歉意。
謝謝你的幫忙!
test_variable = "columns( :Column1, :Column2 ),
Source Label Column( \!"Label\!" ),
Stacked Data Column( \!"Data\!" ),
Move Columns( To First ),
Output Table ( \!"Test Output Table\!" )";
current data table () << Stack (test_variable);
自動化和腳本編寫回覆:使用一個變數執行多個命令
@jthi寫道:
通常,您可以透過其他方式(表達式)建立它們,而不僅僅是使用字串(我想說,如果可以的話,您應該這樣做)。
一種方法是使用佔位符 (_cols_) - 然後將其替換為您預先配置的表達式 - 如下所示:
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
cols = Expr(Columns(:height, :weight));
mycommand = Expr(current data table () << Stack (_cols_, Source Label Column( "Label" ),
Stacked Data Column( "Data" ),
Move Columns( To First ),
Output Table ( "Test Output Table" )));
Eval (Substitute ( Name Expr(mycommand),Expr(_cols_), Name Expr (cols) ))
一些Expr()和Name Expr() 「魔法」對於防止 JMP 在錯誤的時間執行表達式 [ Expr() ]以及存取儲存在變數 ( name ) 而不是名稱本身。
乍一看,使用者會決定最好不要使用這種開銷 - 或使用Eval(Parse(String))作為後備解決方案。但在這裡投入一些時間是個好主意,例如在這個精彩講座的幫助下:
使用 JSL 開發高效、強大的應用程式 (EU 2018 415)
回覆:使用一個變數執行多個命令通常,您可以透過其他方式(表達式)建立它們,而不僅僅是使用字串(我想說,如果可以,您應該)。
回覆:使用一個變數執行多個命令我選擇了 Stack,因為它似乎是我想要完成的任務的一個更簡單的例子。最終,我想使用一個變數來代替格式化一堆控製圖的命令文字區塊。
回覆:使用一個變數執行多個命令你到底想做什麼?多次在堆疊中使用相同的選擇?