コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
こういち ◆ou0jbJnEJ0Kb
2018/11/22 8:11 ネタバレ
質問
禁断の質問
プチコン勢ってGOTOやBREAK,CONTINUEとかGOSUBを使う派の人多そうだけどどうなのかな?
(違う派閥の意見を否定したり暴言などは書き込まないでほしいです。トピックが荒れた場合トピックごと削除します。)

コメント

アバター
こういち 2018/11/22 8:38 ◆ou0jbJnEJ0Kb
なるほど。速いというのは魅力的かも。
アバター
こういち 2018/11/22 10:20 ◆ou0jbJnEJ0Kb
あとGOSUBってstack overflowが起きづらかった気がします。
(旧3DSの場合DEFは1024回、GOSUBは65536回呼び出せるって聞いたことがある。WiiUは知らない。)
使いこなせれば便利かも。
アバター
おちゃめ 2018/11/22 14:06 ◆jH1opV6FnGyx
GOTOやGOSUBは旧世代のBASICからの伝統ですからね。よく使われているというのはそれだけ昔のBASICに触れたことがある人が多いのが理由かもしれませんね。

個人的にはGOTOは初心者向けの講座やリスト短縮で有用だから使っているだけにすぎません。
プチコンmkIIではラベルは行の先頭のみに記述可能で、ラベルを記述した行にはラベル以外を書いても無視されるため1画面プログラムでGOTOは全然使いものになりませんでした。
しかし、プチコン3号はラベルを任意の場所に記述可能になったため非常に便利になりましたね。
そのお陰でON〜GOTOもめちゃくちゃ使える命令になりました。
多くの場合においてWHILE〜WENDよりも短縮が可能になるからです。(それでいてREPEAT〜UNTILよりも高速になる場合もある)

GOSUBはリスト短縮的には役に立ちませんが、自作関数を作ることにハードルを感じる初心者には有用かもしれませんね。
GOSUBは16383回までStack overflow無しで使えますが、そこまでGOSUBを使う場合は単にRETURNの書き忘れのような気がします。
アバター
しんいち 2018/11/22 18:18 ◆lHy.hAWXbthn
使います。
私はDEFはなるべく汎用的な処理(他のプログラムでもそのまま使えるような)に、GOSUBはそのプログラム内でしか使わないような処理、という感じで使い分けています。
GOTOはGOSUB→GOSUB→GOSUB→・・・RETURN←RETURN←RETURN・・・が鬱陶しい時にGOSUB→GOTO→GOTO→・・・RETURN(1回のみ)としたり、DEF内でちょっとしたサブルーチンを組みたい時に使ったりします。
BREAKはWHILEやUNTILの条件式に書き辛い時に使いますが、頻度は少ないかも。
CONTINUEは、ループ中の以降の処理すっ飛ばしたら楽な時、IF文で書くとネスト深くなって見辛いなぁと思った時とかに、ちょくちょく使います。
アバター
KNTK 2018/11/23 0:18 ◆.O1reuuyjCCS
GOSUBばかり使っています。
でもDEFも使います(同時には使わない)。
結局は気分で決まっていますね。
BREAK&CONTINUEはよく使います(条件式をうまく使えばいいのになぁ)。

基本的に僕はプチコンしか言語は使っていないので、
プチコン仕様に慣れてしまった気がします。
プチコンが結構自由だからpythonとかCになかなか慣れないです。
アバター
bはかせ 2018/11/23 2:24 ◆fgfPl6qLuzIU
プログラムが汚くなりがちなので
極力GOTOを使わないような処理をしているんですが
ここGOTO使えば一発なのになぁという時は使ってます
便利だからしょうがない

メインルーチンを見やすくするために
GOSUBはしょっちゅう使ってますね
アバター
こういち 2018/11/23 17:08 ◆ou0jbJnEJ0Kb
ついったでも聞いてみたらVARとDIMの使い分け的な意見が多かった。
アバター
キルル2 2018/11/24 23:55 ◆rGE712Ruejv7
gosubは使わず、defを使いますね
defにはローカル変数という、とても良い仕組みがあるのに、gosubをわざわざ使うのはちょっと分からないですね
オレンジ色になるのも意味不明です
速いとか速くないとかは、気にしません
アバター
こういち 2018/11/25 6:29 ◆ou0jbJnEJ0Kb
GOSUB使おうとしてもDEFで良くね?ってなります。
オレンジ色問題!分かります。(エディタ真っ白に設定してるから影響ないけど)
あとラベルに複数の意味があるのがややこしい。
アバター
MONO-CASEI 2018/12/2 16:21 ◆4AyJE72/nkvY
GOSUBのほうがDEFより速いらしい
アバター
こういち 2018/12/2 17:56 ◆ou0jbJnEJ0Kb
確かに速いらしいですね。
速さを求めるときには使えそう。
速さを取るか読みやすさを取るか。
アバター
しんいち 2018/12/2 19:51 ◆lHy.hAWXbthn
GOSUBよりDEFの方が使いやすい、と考えている人の方が多いのかな。確かにローカル変数は便利だけど、グローバル変数も使えちゃうところが、逆に危なっかしいと思うことがあります。DEF中でVAR I忘れてグローバル変数のIをローカル変数のつもりで使っちゃってバグ原因に中々気付かないとか。いっそ、OPTION STRICTの時はDEF中で宣言していない変数(グローバル変数)を使うとエラーにしちゃうとか、新たにOPTION LOCALDEFとか用意してそうするとか、すれば良いのになぁとか思ったり。
アバター
こういち 2018/12/2 20:57 ◆ou0jbJnEJ0Kb
グロヴァ便利ですけどね。
確かにローカル限定もあると便利かも。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -