• ベストアンサー

希望のサブルーチンを読み出すプログラムを教えてください。

 まずお断りをしておきます。  初心者なので、変な表現をしていたら申し訳ありません。  お聞きしたいのは、「複数のサブルーチンを用意しておいて、ある変数の値に対応して希望のサブルーチンが呼び出せるようにするにはどうすればよいか?」と言う事です。  プログラムはできるだけ簡単にしたいです。  無茶な書き方だと思いますが、イメージとしては以下の通りです。 (コマンドもめちゃくちゃだと思います・・・。すみません。) ******************************** MAIN------------ FOR A=0 TO 10 GOSUB A NEXT SUB------------- 0: PRINT A RETURN 1: PRINT A RETURN  ・  ・  ・ 10: PRINT A RETURN ********************************  御回答、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Musaffah
  • ベストアンサー率36% (37/101)
回答No.3

私も#1さんの回答に1票! ある変数の値によって3つ以上の処理に分岐するのであれば、「多岐分岐」という処理にするのが一番シンプルです。 VB系では、以下のような記述になります。 Select Case 変数 Case 値1 処理A Case 値2 処理B Case 値3,値4 ←値3か値4の場合ってこと 処理C Case 5 to 10 ←変数の値が5~10の場合ってこと 処理D Case Else ←上記値以外の場合はここ 処理E End Select 詳しい使い方はヘルプとかで調べられたら良いと思います。

goo-sada
質問者

お礼

御回答、ありがとうございます。 解説入りで大変参考になりました。 特に、「~の場合は、・・・と言う処理をするのが○○という理由から良いとされています」といった解説を頂くと、初心者の私には特に勉強になります。 これからもよろしくお願いします。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

かなり古い記述法になり、推奨できないですが、 以下のような記述はVBでもできます。 '-------------------------------------------------------------- Public Sub test() Dim A As Integer 'MAIN------------ For A = 0 To 10 On A GoSub 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Next Exit Sub 'SUB------------- 0: Debug.Print A Return 1: Debug.Print A Return 2: Debug.Print A Return 3: Debug.Print A Return 4: Debug.Print A Return 5: Debug.Print A Return 6: Debug.Print A Return 7: Debug.Print A Return 8: Debug.Print A Return 9: Debug.Print A Return 10: Debug.Print A Return End Sub

goo-sada
質問者

お礼

御回答、ありがとうございました。 使用するかしないかは別として、色々な表現方法を教えていただいた方が、私としては勉強になるのでうれしいです。 またの機会にもよろしくお願いします。

noname#60992
noname#60992
回答No.1

言語によって異なると思いますが、 VB系の書き方だと SELECT CASE Hensuu case 1 Routine1 case 2 Routine2 case 3 Routine2 END SELECT などを使うとすっきりしていて見やすいかと思います。

goo-sada
質問者

お礼

早速の御回答、ありがとうございました。 「SELECT」文を使用して、プログラムを検討してみます。 またの際にも是非よろしくお願いします。

関連するQ&A