したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

おちゃめくらぶ掲示板

1468御茶目菜子:2013/02/03(日) 23:31:19
レスにょ
天郷思音さんへ
>FOR I=9 TO 7のように中をスキップするFORがあるとき 、FOR I=8 TO 4NEXTのように:を省略するとnextがあるにもかかわらずFOR without NEXTがでる。

先日も書いたようにプチコンはインタープリタである以上はリアルタイムで構文解析が
行われているため「スキップする」けど中はちゃんと読み取られているにょ。
そうなるとなおさら「FOR without NEXTが出るのはおかしい」と思うかもしれないけど
これはプチコンにおいてはNEXTがどのような形で現れたら実行されるというのが定義付け
られているためだと思うにょ。

例えば次のような場合もFOR without NEXTが出るにょ。

FOR I=9 TO 7
BEEP 1NEXT (改行を間に挟んでもNEXTは認識しない)

FOR I=9 TO 7:BEEP 1NEXT (FORの後にコロンを入れてもNEXTは認識しない)

つまり、プチコンにおいてスキップ状態から復帰するためにはNEXTの前にコロンを入れる
必要があるということにょ。

FOR I=9 TO 7NEXT:BEEP 1:NEXT

これを実行すればBEEPは鳴らず最初のNEXTとBEEP 1はスキップされて後のコロン付きNEXT
のみが実行されていることが分かるにょ。
あと、常に行頭から実行されるためNEXTを行頭においておけばコロンを含まなくてもちゃんと
認識可能になるにょ。

FOR I=9 TO 7BEEP 1
NEXT (コロンを入れてないけどNEXTは認識する)

つまり、これは命令の区切りはコロンを省略していてもちゃんと行えているけどコロンが
ないと誤動作する場合もごくまれにあるという例だと思われるにょ。
とはいうものの本来はコロンを付けるのが当たり前であり、これをバグとして捉えるのは
正しいとはいえないけどね。




掲示板管理者へ連絡 無料レンタル掲示板