Espressione vs. FunzioniHo faticato a capire le differenze. Mi sembra, almeno in superficie, che realizzino la stessa cosa, ma vedendo come puoi scegliere c'è una differenza da qualche parte. Se a voi bravi ragazzi non dispiacerebbe darmi la stupida spiegazione abbattuta con forse un esempio o due, lo apprezzerei molto.
D
Ri: Espressione vs. FunzioniGrazie Marco,
Ho aperto un nuovo argomento sulla base delle informazioni che sei stato in grado di fornire. Le funzioni sono sicuramente ciò di cui avevo bisogno per capire in quanto riduce significativamente le righe di codice nel mio script di pull dei dati.
Ecco il link https://community.jmp.com/t5/Discussions/How-to-loop-using-a-function/mp/74841
Ri: Espressione vs. FunzioniOltre a utilizzare la natura dinamica delle espressioni, vedo le espressioni come un altro modo per creare una subroutine. Potrei usare una funzione o un'espressione come subroutine. Preferisco un'espressione quando voglio ritardare la valutazione, non ho bisogno di parametri e non ho bisogno di un risultato restituito. Preferisco una funzione utente quando ho bisogno di parametri o di un risultato di ritorno.
Ri: Espressione vs. FunzioniGrazie per l'informazione. Ho più di 6 script include () che non sono altro che espressioni .. ora provo la funzione..
Ri: Espressione vs. FunzioniLa mia opinione: le funzioni sono per il codice che sarà ricorrente.Le espressioni servono per inserire codice in altro codice.
Ecco un esempio semplificato:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
onewayFunc = function({dt,Yaxis, Xaxis}, {Default Local},
plot = dt << Oneway(
Y( eval(Yaxis) ),
X( eval(Xaxis) )
);
return(plot);
);
Yaxis = expr({Column("height"), Column("weight")});
Xaxis = expr(Column("sex"));
onewayFunc(dt,Yaxis,Xaxis);
Questo codice potrebbe essere realizzato senza espressioni, ma usandolo come esempio.In generale direi di usare sempre le funzioni, fino a quando non incontri un caso limite in cui un'espressione farà il lavoro.
Le espressioni hanno anche diverse utili funzioni di supporto che le rendono utili per l'aritmatica e l'alegebra:
Names Default To Here( 1 );
Simplify Expr( Expr( 2 * 3 * a + b * (a + 3 - c) - a * b ) );
//6 * a + 3 * b + -1 * b * c