La funzione ha 2 parametri ma sono stati dati 0Ciao a tutti,
Sto cercando di passare una funzione allo spazio di memoria locale della funzione Parallel Assign
Non funziona perché JMP mi dice che F ha 2 parametri ma 0 sono stati dati. Come posso risolvere questo problema?
Ri: La funzione ha 2 parametri ma sono stati dati 0JMP passa gli argomenti alle funzioni in base al valore. Se specifico un argomento come variabile (ad esempio, la variabile che memorizza la funzione utente che hai definito), non funzionerà. Per esempio,
Names Default to Here( 1 );
f1 = Function( { x }, 2*x );
f2 = Function( { f, x }, 2 * f( x ) );
f2( f1, 3 );
Ho fatto lo stesso errore.
Non so cosa stai cercando di fare, ma potrebbe funzionare se usi le espressioni invece delle funzioni utente.
Ri: La funzione ha 2 parametri ma sono stati dati 0Sto rispondendo a una domanda che potrebbe essere o meno la domanda che stai ponendo: penso che tu abbia scritto qualcosa del genere:
f=function(...);
parallel assign({ g = f }, ... )che proverà a valutare il lato destro di g = f e produrrà l'errore menzionato.
Qualcosa del genere funzionerà:
parallel assign( { g = function(...) }, ... )vedere https://community.jmp.com/t5/Discussions/How-to-pass-a-function-to-Parallel-Assign/mp/230728