Ausdruck vs. FunktionenIch habe Mühe, die Unterschiede zu verstehen. Es scheint mir, zumindest oberflächlich, dass sie dasselbe erreichen, aber wenn man sieht, wie man wählen kann, gibt es irgendwo einen Unterschied. Wenn es euch netten Leuten nichts ausmacht, mir die dumme Erklärung mit vielleicht ein oder zwei Beispielen zu geben, würde ich es sehr schätzen.
D
Betreff: Ausdruck vs. FunktionenDanke Mark,
Ich habe ein neues Thema eröffnet, basierend auf den Informationen, die Sie bereitstellen konnten. Funktionen sind definitiv das, was ich verstehen musste, da sie die Codezeilen in meinem Daten-Pull-Skript erheblich reduzieren.
Hier ist der Link https://community.jmp.com/t5/Discussions/How-to-loop-using-a-function/mp/74841
Betreff: Ausdruck vs. FunktionenNeben der Verwendung der dynamischen Natur von Ausdrücken sehe ich Ausdrücke als eine weitere Möglichkeit, eine Unterroutine zu erstellen. Ich könnte eine Funktion oder einen Ausdruck als Unterprogramm verwenden. Ich bevorzuge einen Ausdruck, wenn ich die Auswertung verzögern möchte, keine Parameter benötige und kein zurückgegebenes Ergebnis benötige. Ich bevorzuge eine Benutzerfunktion, wenn ich Parameter oder ein Rückgabeergebnis benötige.
Betreff: Ausdruck vs. FunktionenDanke für die Information. Ich habe mehr als 6 include()-Skripte, die nichts als Ausdrücke sind. Ich werde die Funktion jetzt ausprobieren..
Betreff: Ausdruck vs. FunktionenMeine Meinung: Funktionen sind für wiederkehrenden Code.Ausdrücke dienen zum Einfügen von Code in anderen Code.
Hier ist ein vereinfachtes Beispiel:
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);
Dieser Code könnte ohne Ausdrücke, aber als Beispiel ausgeführt werden.Im Allgemeinen würde ich sagen, verwenden Sie immer Funktionen, bis Sie auf einen Grenzfall stoßen, in dem ein Ausdruck die Arbeit erledigt.
Ausdrücke haben auch mehrere nützliche Hilfsfunktionen, die sie für Arithmetik und Alegebra nützlich machen:
Names Default To Here( 1 );
Simplify Expr( Expr( 2 * 3 * a + b * (a + 3 - c) - a * b ) );
//6 * a + 3 * b + -1 * b * c