MTFor
様々なプログラミング言語にある for ループを行うためのブロックタグです。指定された値の間、囲まれたコンテンツを繰り返し処理します。
使い方
<MTFor var="x" from="5" to="10" glue= " | "> <MTIf name="__first__"> <p>This is my first time through!</p> </MTIf> <p>now x = <MTVar name="x"></p> </MTFor>
モディファイア
- from
-
ループ開始時の値を設定します。
- to
-
設定した値を越えた場合、ループは停止します。
- increment
-
1回のループで増加する値を指定します。何も指定しない場合は、1ずつ増加します。例えば、from に 0 、to に 10 を設定し、increment を 2 に設定した場合、0, 2, 4, 6, 8, 10 と増加します。
- glue
-
ループの出力の後に設定する区切り文字を指定します。区切り文字には ' (シングル・クォーテーション) や " (ダブル・クォーテーション) は使えません。
- var
-
指定した変数名で __index__ を出力できるようになります。
特別な変数
MTFor によるループの中では以下の特別な変数が利用できます。
- __first__
-
ループ出力の最初である場合 true (1) となります。
- __last__
-
ループ出力の最後である場合 ture (1) となります。
- __odd__
-
ループ出力の奇数回目の場合 ture (1) となります。
- __even__
-
ループ出力の偶数回目の場合 ture (1) となります。
- __index__
-
ループのインデックスを格納します。
- __counter__
-
ループした回数を格納します。
__index__ と __counter__ 変数の違いは以下のサンプルで確認することができます。__counter__ 変数は、ループした回数だけ1ずつ増えていきますが、__index__ 変数の値は、MTFor に設定した変数 test と同じループのインデックスを表示します。
<MTFor var="test" from="10" to="20" increment="2"> <p>now test = <MTVar name="test"> | __index__: <MTVar name="__index__"> | __counter__: <MTVar name="__counter__"></p> </MTFfor>
サンプルの出力例は以下のようになります。
<p>now test = 10 | __index__: 10 | __counter__: 1</p> <p>now test = 12 | __index__: 12 | __counter__: 2</p> <p>now test = 14 | __index__: 14 | __counter__: 3</p> <p>now test = 16 | __index__: 16 | __counter__: 4</p> <p>now test = 18 | __index__: 18 | __counter__: 5</p> <p>now test = 20 | __index__: 20 | __counter__: 6</p>