for / foreach

for

カウンタを使ったループです。

OnBoot => {
    let sum = 0
    for (let i = 0; i < 5; i++) {
        sum += i
    }
    湊: 合計は${sum}です。
}

for (初期化; 条件; 更新) の形で書きます。

書ける形

for の3つの部分には、次の制限があります。

  • 初期化: let 変数名 = 値 の形だけ書けます。for (i = 0; ...) のように let を付けない書き方や、初期化を空にする書き方はできません。カウンタは、この for の中だけで使える変数になります。
  • 条件: 通常の式(比較や && など)が書けます。
  • 更新: 下の表の4つの形だけ書けます。

カウンタの更新

書き方意味
i++1増やす
i--1減らす
i += 22増やす
i -= 22減らす

これ以外の形は、パースエラーになります。たとえば i *= 2 や i = i + 1、save.n++(save の中の値など、単純な変数名でないもの)は書けません。 それらが必要なときは、while を使ってください。

foreach

配列やマップの要素を順番に処理します。

配列

OnBoot => {
    let items = ["あ", "い", "う"]
    foreach items as i, v {
        湊: ${i}番目は${v}です。
    }
}

i がインデックス(0始まり)、v が値です。 インデックスだけ使う場合は v を省略できます。 変数を1つだけ書くと、それはインデックス(マップの場合はキー)になり、要素の値は取れません。値も使うときは i, v のように2つ書きます。

OnBoot => {
    let items = ["あ", "い", "う"]
    foreach items as i {
        湊: ${i}番目。
    }
}

マップ

OnBoot => {
    let data = {"name": "湊", "age": "17"}
    foreach data as k, v {
        湊: ${k}は${v}です。
    }
}

k がキー、v が値です。配列と同じく、変数を1つだけ書くとキーになります。

ループの上限

無限ループを防ぐため、ループは最大2000回で自動的に停止します。