トピック
bはかせ kojimadaiti

サブルーチンって

他の人のプログラムを見ていると サブルーチン なるものがありまして。 なんとなくすごく便利なもののような 気がします。 いったいそれがどんなモノなのか 教えてください。
3そうだね
プレイ済み
返信[1]
親投稿
@名前 (やること) RETURN こういう形になっていて 使いたいところで GOSUB @名前 と書きます。便利。
2そうだね
プレイ済み
返信[2]
親投稿
bはかせ kojimadaiti
GOTOとGOSUBって 何か決定的な違いってあるんですかね?
1そうだね
プレイ済み
返信[3]
親投稿
Godot orz_127
サブルーチン DEFで定義する関数を@ラベル~RETURNで再現したもの。 呼び出しは、GOSUB @ラベル ローカル変数は使えないので、引数を含めグローバル変数で定義しなければならず、変数の管理がめんどくさいもの。
2そうだね
プレイ済み
返信[4]
親投稿
GOTOじゃRETURNが使えない
2そうだね
プレイ済み
返信[5]
親投稿
GOTOは元のループに戻るとき、いちいちまたGOTOしなきゃならない。 GOSUBはRETURNで元のループに戻れる。 みたいな?
2そうだね
プレイ済み
返信[6]
親投稿
HRT-86_にでら mijuharuto
mkIIのときはDEFがなかったから PETIKANA(ひらがな表示ライブラリ)とかもGOSUBだった希ガス
2そうだね
プレイ済み
返信[7]
親投稿
bはかせ kojimadaiti
なるほど。 GOSUBを使えばそれで飛んだところの 処理をしてからRETURNで元の場所に 戻ってきてくれるんですね。 処理をいろんなところで使うときとか 便利そうですね。 GOTOは片道、GOSUBは往復。 メモメモ
2そうだね
プレイ済み
返信[8]
親投稿
だにえる haru2016nen
WHILE 1'メインループ  GOSUB  GOSUB  GOSUB  VSINC WEND アクションゲームだと、GOSUB先を ボタン取得、敵のアニメ、判定 とかの処理にしておく。 こうするとプログラムの"大まかな流れ" が直ぐ分かる めぐり氏はこの方法を使っていないので 逆に凄いとおもってる
2そうだね
プレイ済み
返信[9]
親投稿
だにえる haru2016nen
このDEFならGOSUBを省略できる!
2そうだね
プレイ済み
返信[10]
親投稿
bはかせ kojimadaiti
処理の後の戻り先にラベルを設置しなくても RETURNで戻ってくれるから プログラム全体が見やすくなる利点も あるんですね。 確かにプログラムの流れが分かりやすい。 これは便利ですね。
2そうだね
プレイ済み
返信[11]
親投稿
だにえる haru2016nen
DEFはGOSUBに似ているんですが、 イメージは"同じ処理"と言うより、 "引数を元に変化する処理"とか "自作命令"ってカンジです。 つまり、引数が使えるのです! 画像←需要があるDEF
2そうだね
プレイ済み
返信[12]
親投稿
bはかせ kojimadaiti
コメントありがとうございました! GOTOとGOSUBは別モノなんですね。 これでまた使える命令がひとつ増えました。 これでここは閉めますね。
2そうだね
プレイ済み