/* -*- MaTX -*- * * 【名前】 * for - 繰り返し * * 【形式】 * for (expr1; expr2; expr3) { * statements; * } * (Integer|Real) expr2; * 任意の式 expr1, expr3; * * 【機能説明】 * 文法的には for の 3 つの要素は式である。多くの場合,expr1 と * exp3 は代入または関数呼び出しであり,expr2 は関係式または論理式 * である。3 つのどの部分のどれを省略してもよいが,セミコロンは * 省略してはならない。テスト部 expr2 が省略されたら,それは永久に * 真とみなされる。したがって * * for (;;) { * statements; * } * * は無限ループであり,脱出は,他の手段(例えば break や return)による * ことになる。C 言語のカンマ演算子に相当する演算子をもたないので, * 複数個の式を直接 expr1 と expr3 に書けないが,リストを用いれば * * for ({i=1, j=1}; i<5 && j<5; {i++, j++}) { * statements; * } * * のように expr1 と expr3 に複数個の式を書ける * * 【例題】 * 対角成分にその行番号と列番号の和を代入する。 * A = Z(4); * for (i = 1; i <= Cols(A); i++) { * for (j = 1; j <= Rows(A); j++) { * if (i == j) { * A(i,j) = i + j; * } * } * } * * 【関連項目】 * while, do, break, continue */