|
For
著者: 森 洋久 / joshua@globalbase.org ※
プロトタイプ
XML 形式
<For> condition exp.... </For>
LISP 形式
( For condition exp... )
引数
condition [0-1] XLT_INTEGER , XLT_FLOAT 終了条件文
exp [0+] 任意の型 実行文
属性
dec [任意] 文字列 カウントダウン変数。
評価形式
normal
所属エージェント
xl
所属環境
Env0
説明
属性 dec が存在するときは、 condition は存在しない。一方、 dec が存在しないときは、 condition は存在し有効である。
dec が存在しないとき
condition が有効となる。For文はまず condition を評価する。この時点の評価前を ループ初期時点 と呼ぶ。その結果が、0の場合、そのまま終了する。結果が0以外である場合、 exp を順番に評価し、 condition の評価へもどる。
exp の評価が終了した時点を ループ終了時点 と呼ぶ。
dec が存在するとき
condition は存在しない。For文は、 dec 属性に示される変数を評価する。この時点の評価前を ループ初期時点 と呼ぶ。結果が、0または、 XLT_NULL の場合、For文は終了する。それ以外の場合、 exp を順番に評価実行し、最後に、 dec の値を以下のように変化させる。
exp の評価が終了した時点を ループ終了時点 と呼ぶ。
その後、For初期時点へ戻る。
For文に関連した関数として Break文 および、 Continue文 がある。Break文は exp およびその内部で呼ばれたときに、For文を即終了する。引数として終了時点の戻り値を与える関数である。Continue文は、やはり exp およびその内部で使用可能であり、評価時点で、For文のループ終了時点へ飛ぶ。
▲ページトップへ戻る
戻り値
exp が全く評価されなかった場合、0( XLT_INTEGER )が返る。 exp が一つ以上評価された場合、最後に評価された exp の値が返る。
Break が実行された場合。その第一引数が戻り値となる。
エラー
-
XLE_SEMANTICS_TYPE_MISSMATCH
condition の型違反。 dec であらわされる変数の型違反。
-
その他、 dec が評価される時点で発生するエラー。 Eval が発生する可能性のあるエラーと同等のエラーである。
参考
XL関数(環境)(Break), XL関数(環境)(Continue)
バグ
▲ページトップへ戻る
|
|