コミュニティアイコン プチコン 非公式コミュニティ プレイ日記

アバター
こういち ◆ou0jbJnEJ0Kb
2019/1/4 22:08
過去のボクが禁忌の呪文を使ってる…だと!?

コメント

アバター
はる 2019/1/4 22:25 ◆75Vh4SY8TdKS
BREAKって使いたいような使いたくないような。
アバター
うょリウム(元 SPDX) 2019/1/4 23:29 ◆UTOEg1c1vr.B
僕はよく使います。
REPEAT〜UNITL 0でも使えます。
CONTINUEと使い分け。
アバター
ツララ 2019/1/5 8:46 ◆ArUdBYOYME1V
BREAK断す?
こういちさんは他にどんなダンスが得意なの?
アバター
まるだい 2019/1/5 14:08 ◆AdwyE6qhnxpV
繰り返しBREAKすると(何千回何万回
Stack underflow スタックがあふれた
が起きるらしいです。
アバター
こういち 2019/1/5 15:47 ◆ou0jbJnEJ0Kb
はるさん
ボクは使いたくないです。コードの美しさが結構違う。
うょリウムさん
CONTINUEも使わない派。
ツララたん
レディオダンスザファーストが得意。
まるだいさん
マークU時代はそうだったらしいですけど、3号では起こらなかったはず。
ちなみにDEF〜ENDや@RETURNは途中で抜けるとstack overflow起こります。(returnで抜ける分には問題ない)
アバター
Soybeanman 2019/1/5 15:51 ◆SDLkyXUP6WqK
>>まるだいさん
検証してみました。
VAR C%,N%

WHITE 1
 WHITE 1
  BREAK
 WEND
 IF N%==C% THEN
  ?N%
  C%=C%+1000000
 ENDIF
 N%=N%+1
WEND
只今、実行中ですが、1,000,000,000回以上やっても大丈夫なようです。
よほどのことが無い限りエラーにはならないでしょう。
アバター
こういち 2019/1/5 16:04 ◆ou0jbJnEJ0Kb
GOSUBやDEF〜ENDなどの
「行って戻ってくる」命令は
ちゃんと元の場所に戻れるように戻る場所をスタックメモリと呼ばれるものに記録して、戻ってきたら記録したのを消すんですよね。
で、それらを途中で抜けると、消去されずに記録ばっかりされるので、いつか記録する場所が埋まって記録出来なくなる。それがstack overflowです。

ちなみに、EXECも他スロットのプログラムを実行して戻ってくる命令ですが、スロットは4つしかなくて、4つ記録すれば十分なのでエラーにならないようです。

なんでマークU時代はエラーが出るのかは謎。
アバター
Ryou Tanpo 2019/1/5 23:19 ◆AI5iRr9FjmkJ
> Soybeanman さん
WHILE が白くなってます!
アバター
うょリウム(元 SPDX) 2019/1/6 0:09 ◆UTOEg1c1vr.B
あれ、マーク2にBREAKはなかったのでは
アバター
まつもと だい 2019/1/7 20:52 ◆I.3vocq8zcvh
WhileはとりあえずTrue渡して必要になったらBreakするマン
ワイはスタックあふれるほどのモンは作らんぞェ〜

コメントを書く

この投稿にはコメントできません。

- WEB PATIO -