違いを理解するのに苦労しました。 少なくとも表面的には同じことを達成しているように見えますが、選択する方法を見ると、どこかに違いがあります。 あなたが元気な人なら、私に1つか2つの例を使って馬鹿げた説明をしてくれても構わないと思います.
D
マーク、ありがとう
いただいた情報をもとに新しいトピックを立ち上げました。 関数は、データ プル スクリプトのコード行を大幅に削減するため、間違いなく理解する必要がありました。
ここにリンクがありますhttps://community.jmp.com/t5/Discussions/How-to-loop-using-a-function/mp/74841
式の動的な性質を利用することに加えて、式はサブルーチンを作成するもう 1 つの方法であると考えています。 関数または式をサブルーチンとして使用できます。 評価を遅らせたい、パラメーターを必要としない、結果を返す必要がない場合は、式を好みます。 パラメーターまたは戻り値が必要な場合は、ユーザー関数を好みます。
情報ありがとうございました。 式以外の 6 つ以上の include() スクリプトがあります。 私は今機能を試すつもりです..
私の見解: 関数は繰り返し発生するコード用です。式は、コードを他のコードに挿入するためのものです。
簡単な例を次に示します。
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);
このコードは、式を使用せずに実行できますが、例として使用します。一般に、式が仕事を成し遂げるというエッジケースに遭遇するまで、常に関数を使用すると言います。
式には、算術や代数に役立ついくつかの便利なヘルパー関数もあります。
Names Default To Here( 1 );
Simplify Expr( Expr( 2 * 3 * a + b * (a + 3 - c) - a * b ) );
//6 * a + 3 * b + -1 * b * c