<CSP:LOOP>
Synopsis
<CSP:LOOP>...</CSP:LOOP>
属性
一般的な属性
属性 | 説明 | 値 |
---|---|---|
COUNTER | 必須項目。このループで使用されるカウンタの変数名。 | 有効な変数名 |
FROM | ループ・カウンタの開始値 | 数値あるいは式 |
STEP | 繰り返しのたびに変更されるループ・カウンタの総計 | 数値あるいは式 |
TO | ループ・カウンタの終了値 | 数値あるいは式 |
概要
CSP:LOOP タグは、カウンタが指定された終了値に達するまで、そのコンテンツを繰り返し実行します。
CSP FOR ループの基本構造は、以下のとおりです。
<CSP:LOOP attributes>
content
</CSP:LOOP>
attributes は、CSP:LOOP タグの属性 (前述) で、content はループが繰り返されるたびに表示される内容です。
FOR ループ内のカウンタ
FOR ループの実行は、ループごとにインクリメントされるサーバ側のカウンタで制御されています。カウンタとして使用されるローカル変数は、COUNTER 属性で指定します。
<CSP:LOOP COUNTER="count">
count は、カウンタ変数名です。
各 CSP:LOOP タグには必ず COUNT 属性を指定します。
カウンタの初期値
FROM 属性を使用して、カウンタの初期値を指定できます。
<CSP:LOOP COUNTER="count" FROM="initval">
count はカウンタ変数の名前、initval は初期値です。
FROM 属性を指定しない場合、初期カウンタ値は 1 になります。
カウンタの終了値
TO 属性を使用して、カウンタの終了値を指定できます。
<CSP:LOOP COUNTER="count" FROM="initval" TO="finalval">
count はカウンタ変数の名前、initval はその初期値です。また、finalval は最後の値で、この値により、ループの次の繰り返しが開始されます。
TO 属性を指定しない場合、終了カウンタ値は 1 になります。
カウンタのインクリメント
STEP 属性を使用して、カウンタの増分値を指定できます。
<CSP:LOOP COUNTER="count" FROM="initval" TO="finalval" STEP="incr">
count はカウンタ変数の名前、initval はその初期値です。また、finalval は最後の値で、この値により、ループの新規繰り返しが開始されます。incr は各繰り返しの最後にカウンタに追加される値です。incr の評価結果は、整数にならなくても問題ありません。任意の増分値を使用できます。
STEP 属性を指定しない場合、増分値は 1 になります。
サーバからの値の取得
サーバから値を取得するには、以下を使用できます。
<CSP:LOOP COUNTER="count" FROM="#(initval)#" TO="#(finalval)#" STEP="incr">
<CSP:LOOP> の例
以下の単純な FOR ループは、ループの各繰り返しの間のカウンタ値を表示します。
<UL>
<CSP:LOOP COUNTER="i" FROM="0" TO="6" STEP="1.5">
<LI>The value of the counter is #(i)#.
</CSP:LOOP>
</UL>
以下のループは、サーバから終了値を取得して、学生の試験結果を表示します。
<TABLE>
<TR><TH>Exam</TH><TH>Score</TH></TR>
<CSP:LOOP COUNTER="i" FROM="1" TO="#(student.ExamScore.Count())#">
<TR><TD>#(i)#</TD><TD>#(student.ExamScore.GetAt(i))#</TD></TR>
</CSP:LOOP>
</TABLE>
スクリプト言語の指定
CSP:LOOP タグは、言語設定が cache か basic かにより、%LOOP と %LOOPBASIC のルールのいずれかを適用します。