Open kujirahand opened 7 months ago
インデント構文を使ったとき、正しくないインデント、壊れたインデントがあった時のエラーが分かりづらいです。
そこで、「もし」や「の間」「関数」など、インデント可能な構文かどうかをバリデーションでチェックする機構を入れたいと思います。
以下、エラーになります。
●readyState待ち(videoの): 変数 max = videoの要素数 変数 cnt 真の間: cnt = 0 videoを反復: もし対象["readyState"]>=4ならば: cnt = cnt +1 もしcntがmaxならば: 抜ける 0.01秒待つ 戻る [1,2,3,4,5]のreadyState待ち
3行目を変数 cnt=0 とすると問題なく実行可能となる。 ただし、対象が[1,2,3,4,5]を返すのだが、対象["readyState"]としていることから、undefinedになり、いつまでも、cntアップされないため、無限ループとなる例。 実際のところ、インデント構文ではなく、変数の問題なのだが、インデント構文のエラーが表示されるのが問題。
対象["readyState"]
https://discord.com/channels/1211143706783129692/1211143707269791801 より
インデント構文を使ったとき、正しくないインデント、壊れたインデントがあった時のエラーが分かりづらいです。
そこで、「もし」や「の間」「関数」など、インデント可能な構文かどうかをバリデーションでチェックする機構を入れたいと思います。
検出が分かりにくい例
以下、エラーになります。
3行目を変数 cnt=0 とすると問題なく実行可能となる。 ただし、対象が[1,2,3,4,5]を返すのだが、
対象["readyState"]
としていることから、undefinedになり、いつまでも、cntアップされないため、無限ループとなる例。 実際のところ、インデント構文ではなく、変数の問題なのだが、インデント構文のエラーが表示されるのが問題。