aiscript icon indicating copy to clipboard operation
aiscript copied to clipboard

for文の仕様再考

Open marihachi opened this issue 3 years ago • 6 comments

marihachi avatar Sep 06 '22 14:09 marihachi

例えばこんな感じかな

案1

範囲で指定

a:

for (let i, 0 to 3) {
  // i = 0, 1, 2, 3
}
for (let i, 1 to 4) {
  // i = 1, 2, 3, 4
}

b:

for (let i, range 0 to 3) {
  // i = 0, 1, 2, 3
}
for (let i, range 1 to 4) {
  // i = 1, 2, 3, 4
}

継続条件で指定

初期値を省略した場合は0が使用される。

for (let i, i < 4) {
  // i = 0, 1, 2, 3
}
for (let i = 1, i < 4) {
  // i = 1, 2, 3
}

marihachi avatar Sep 06 '22 14:09 marihachi

「継続条件で指定」の場合は負の方向にイテレーションは出来ない感じかしら 範囲で指定の場合は

for (let i, 0 to -3) {
  // i = 0, -1, -2, -3
}

ができると思うけど

syuilo avatar Sep 08 '22 11:09 syuilo

繰り返し回数で指定

廃止しようぜ

syuilo avatar Sep 08 '22 11:09 syuilo

「継続条件で指定」の場合は負の方向にイテレーションは出来ない感じかしら

できても便利そう。 実行時に数値の大小を比較すれば技術的には可能そう

marihachi avatar Sep 08 '22 11:09 marihachi

パースを簡単にするために、範囲指定の場合はキーワードではじめる方が良いかも

for (let i, range 0 to 3) {

marihachi avatar Sep 08 '22 11:09 marihachi

繰り返し回数は消した

marihachi avatar Sep 08 '22 11:09 marihachi