如果 JMP 允許代替()具有可選參數的函數,例如替換( ...., 第一次出現( 1 ) ) .這將有助於通過引用將參數傳遞給函數。考慮以下:
some function = Function( {_function, _args},
{Default Local},
function = Name Expr( _function );
Eval( Substitute( _args, {}, Expr( function ) ) )
);
other function = Function( {_1, _2, _3 = "optional"},
Show( _1, _2, _3 )
);
some function( Name Expr( other function ), {1, 2, 3} );
/* OUTPUT
_1 = 1;
_2 = 2;
_3 = 3;
*/
some function( Name Expr( other function ), {1, {2, 4}, 3} );
/* EXPECTED OUTPUT
_1 = 1;
_2 = {2, 4};
_3 = 3;
*/
在第一個函數中,我使用給定的參數列表調用一個引用函數。問題是替換()取代全部列出函數調用,而不僅僅是外部調用。這是最好只替換第一次出現的地方列表()表達。
@ErraticAttack謝謝你的建議。我們正在對此進行調查,並將跟進我們決定做什麼,或者是否有解決方法來做你想做的事情。
你好@ErraticAttack , 謝謝你的建議! 我們已收到您的請求並將予以考慮。