很酷的新功能
可以幫助很多用戶!
刪除一個“bug”
☑ 很高興擁有
無人需要它
如果在 JSL 程式碼中同時或順序取代多個項目,則Substitute會出現錯誤。
JMP 抱怨代碼不正確。
該程式碼在透過parse(char(my code))提供後運作。如果儲存並重新開啟文件,它也可以正常工作:
https://community.jmp.com/t5/Discussions/Col-Median-what-s-wrong/mp/573778#M78278
真的很奇怪。
是的,似乎一旦二or more functions in the substitution are given without brackets, expression cannot be evaluated anymore.
如果一個接一個地應用替換,也會彈出錯誤消息,例如https://community.jmp.com/t5/Discussions/Col-Median-what-s-wrong/mp/573778#M78278
另一方面:很酷的 JMP能替代功能。
另外:“用括號編寫所有函數”的很好的解決方法:)
@朱利安提供了下面說明問題的腳本。我們將調查此錯誤。
//control condition
expression1 = Expr( Sine( Log( Round ( 2.5 , 0 ) ) ) );
Eval( expression1 );
Show( NameExpr(expression1));
//Succeeds, using additional parentheses to help JMP know these are functions
expression2 = Expr( __func1__(__func2__( __func3__( 2.5 , 0 ) ) ) );
Substitute Into( expression2,
Expr(__func1__),Expr(Sine()),
Expr(__func2__),Expr(Log()),
Expr(__func3__),Expr(Round()),
);
Show( NameExpr(expression2));
Eval( expression2 );
//Also Succeeds, becuase only 1 function doesn't have ()
expression3 = Expr( __func1__(__func2__( __func3__( 2.5 , 0 ) ) ) );
Substitute Into( expression3,
Expr(__func1__),Expr(Sine),
Expr(__func2__),Expr(Log()),
Expr(__func3__),Expr(Round()),
);
Show( NameExpr(expression3));
Eval( expression3 );
//Fails, even though expression looks correct from show
expression4 = Expr( __func1__(__func2__( __func3__( 2.5 , 0 ) ) ) );
Substitute Into( expression4,
Expr(__func1__),Expr(Sine),
Expr(__func2__),Expr(Log),
Expr(__func3__),Expr(Round),
);
Show( NameExpr(expression4));
Eval( expression4 );
鑑於有解決方案,將把它從我們的願望清單活動項目中移除。
@hogi我不明白你描述的問題是什麼。更完整的描述將不勝感激。
此外,一般來說,對於 JMP 中的潛在錯誤問題,最好的途徑是將其發送給我們的技術支持團隊(支持@jmp.com ) 以便他們可以對其進行調查。如果事實證明需要通過向 JMP 添加新功能來解決問題,那麼將帖子添加到願望清單是合適的。