トピック
かかし takamaru-514

GOSUBについて

GOSUB命令について、RETURNせずにサブルーチンを廃止(全ての実行中のサブルーチンでもいいです)することはできますか?簡単に言えばGOTO命令にしたいのですが、RETURNが実行されてもエラーが出てほしいという意味です。ダメもとで聞いていますので、出来ないという回答もお待ちしています。
0そうだね
プレイ済み
返信[1]
親投稿
ΖΕΧ ZEX256
エラー出ませんか
1そうだね
プレイ済み
返信[2]
親投稿
MIKI ifconfig
エディタで全ての gosub を goto に置換すればお望みの結果が得られます。
0そうだね
プレイ済み
返信[3]
親投稿
say sayer.exe
戻り位置を全て自分で管理すれば何の問題もないです どうぞやってください
0そうだね
プレイ済み
返信[4]
親投稿
say sayer.exe
おっと勘違い 失礼しました
0そうだね
プレイ済み
返信[5]
親投稿
かかし takamaru-514
皆さま、回答ありがとうございます。 やりたいことを簡潔にまとめると、こういうことです。 1.GOSUBでラベル内に入る。 2.何らかでGOSUBを解消する。 3.RETURNがあってもRETURNしない。または、エラーが出る。 みき★さんのように、全てをGOTOに置換するのではないです。 何かある方、よろしくお願いします。
0そうだね
プレイ済み
返信[6]
親投稿
ΖΕΧ ZEX256
むり
0そうだね
プレイ済み
返信[7]
親投稿
かかし takamaru-514
ZEXさん 了解です。やはり、できないのですね 回答してくださった皆さま、手間をおかけし申し訳ありませんでした。 ありがとうございました!
0そうだね
プレイ済み
返信[8]
親投稿
ΖΕΧ ZEX256
GOSUBをGOTOに置換するだけで済でしょうに 大して時間掛かりませんよ
0そうだね
プレイ済み
返信[9]
親投稿
かかし takamaru-514
作ったプログラムが、RETURNもせずにGOSUBばかりを使い続けるプログラムになっていて、大丈夫かなと思っていたんですが(プログラム上GOTOへ置換はできません) 大丈夫ですかね??
0そうだね
プレイ済み
返信[10]
親投稿
ΖΕΧ ZEX256
大丈夫っていうのが、エラーにならないことであるなら、 RETURNせずGOSUBし続けたらオーバーフローか何かエラーになるでしょうね。 そうなるくらいならGOTOにしとけばオーバーフローはないだろう。 既にスパゲティになってそうだけど
0そうだね
プレイ済み
返信[11]
親投稿
れい rei-nntnd
また面白い事考えるなぁ できるBASICもあるけどプチコンだとたぶんできない。 もしできてもバグ利用した技とかになる。 なんでそんなことしたいと思ったのかが興味津々。 RETURNせずにGOSUBばかり使い続けるプログラムなのにGOTOに置換できないってのが謎。どゆこと?
0そうだね
プレイ済み
返信[12]
親投稿
かかし takamaru-514
みなさま、回答ありがとうございます。 ざっくりとですか、説明しますと、ある条件を満たしたときに、まったく別のプログラムに移るというもので、例外でない限りRETURNは続くというものです。 そのためGOTOにすると、面倒になるため、できる限りGOSUBでやりたいと思っています。
0そうだね
プレイ済み
返信[13]
親投稿
MIKI ifconfig
なんと!! 華麗なる掌返し!!!!! 何を言ってるのか分からない!! 例外て????
0そうだね
プレイ済み
返信[14]
親投稿
ケイン KEIN.HORGAN
ランチャーみたいなのを作りたいのかなぁ。 素直に最初の呼び出し元まで遡るしかないとは思いますが……
0そうだね
プレイ済み
返信[15]
親投稿
ケイン KEIN.HORGAN
まあ、あるサブルーチンを複数の箇所から呼び出している、とか普通にあり得るから、『GOTOにするのは無理』、と言うのは分かります。
0そうだね
プレイ済み
返信[16]
親投稿
otta777 otta777a
えっと有る条件を満たしたときにフラグになる変数に TRUEを代入しRETURNしてGOSUBで呼び出した次の行で そのフラグ変数がTRUEの時に別のプログラムにGOTOで ジャンプするって方法はどうですか?
0そうだね
プレイ済み
返信[17]
親投稿
otta777 otta777a
FLAG=FALSE GOSUB @SUB IF FLAG==TRUE THEN GOTO 別のプログラム 処理 @SUB 処理 IF 有る条件 THEN FLAG=TRUE:RETURN 処理 RETURN こんな感じになるかと
1そうだね
プレイ済み
返信[18]
親投稿
かかし takamaru-514
みなさま、いろいろ回答ありがとうございます! 試行錯誤しながら、試していこうと思います!ありがとうございました。
0そうだね
プレイ済み