(工事中)
関数の中である程度複雑な計算をする場合、 変数を使用する必要が生じるでしょうが、 局所的な変数を使用するようにしないと思わぬ副作用が生じます。
次の例は、 局所変数 i と p (初期値として を代入) を用いて、 階乗 を計算するための関数を定義したものです (もちろん Mathematica には、階乗を計算する演算子 ! があるので、 こういう関数を作る必要はありませんが)。
fact[n_]:=Module[{i,p=1}, For[i=1, i<=n, i++, p=p*i]; p] |
C言語だったら次のように書くところです。
int fact(int n) { int i, p = 1; for (i = 1; i <= n; i++) p *= i; return p; } |