• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBで理解ができないところがあります)

VBで理解ができないところがあります

このQ&Aのポイント
  • VBで理解ができないところがあります。サンプルプログラムを打ち込んでも実行ができない問題が発生しています。
  • また、SubやModuleの意味や役割についても明確に認識することができません。
  • VBの参考書には解説が省かれる傾向があり、途中から出てくる単語の解説が無くなってしまうことが多いです。おすすめの参考書を知りたいです。

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

  • ベストアンサー
  • ReiReiCha
  • ベストアンサー率49% (63/127)
回答No.2

実行結果は正しいです。 サンプルプログラムを実行すると、最初に処理されるのはMain()という関数です。 ですから、 Sub Main()         <=ここから実行されます Dim SUJI As Integer = 3   <=SUJIという変数を宣言して、3を代入します If SUJI = 3 Then       <=もし、SUJIという変数が3であれば、以下の処理を実行 Console.WriteLine(mName)  <=画面にmNameという変数の内容(YOSHI)を表示 End If            <=ここまで '-> Console.ReadLine()     <=標準入力(多くの場合はキーボード)から1行入力 End Sub          <=Main()関数の終わり Main()関数の処理を終えると、アプリケーションは終了します。 Main()関数以降に書かれているDispMsg()という関数は、上の処理の流れのどこからも呼び出されていないので、実行されることはありません。 '-> という部分にDispMsg()と書けば、DispMsg()という関数を呼び出すことになるので、 Console.WriteLine("Hello {0}", mName) が実行されて Hello YOSHI と画面に表示されるようになると思います。 Sub,Module,NameSpaceの意味がわからないのであれば、Google検索で調べたほうが早いと思います。

Y-Kobayashi
質問者

お礼

回答ありがとうございます。 まずは、お礼が遅れたことを謝らせてください。 すみませんでした。 メールの認証ができていなかった様で、お礼の書き込みができない状況にありました。 関数(メソッドと言うらしいですね)の呼び出しが合っていた様で良かったです。 >Sub,Module,NameSpaceの意味がわからないのであれば、Google検索で調べたほうが早いと思います。 調べてみようとおもいます。

その他の回答 (1)

noname#212058
noname#212058
回答No.1

> 一応、「'->」のある位置に「DispMsg()」と入れれば実行されるのですが、 > 書籍にはそういった記載がありません。どうすれば良いのでしょうか? 書籍の誤りだと思いますね。初心者向けの書籍ではままあることです。出版社のHPに正誤表が出てないか確認したほうが良いかもしれません。 > VBの参考書はこういった説明が省かれる傾向があるのでしょうか? 初心者向けの、特にステップ・バイ・ステップでコードを作りながら学ぶ形式の書籍ではそのような傾向があります。いちいち説明していたら紙面が足りませんからね。こういう疑問点はネットで検索して調べたほうが、はるかに速く解決できますよ。VB.NET の開発元の Microsoft も資料や解説をたくさんネット上に公開してますしね。 例えば、"VB.NET Namespace" などで検索すれば、Namespace に関してのいろんな解説が出てきます。それを渡り歩いて、自分が納得できる説明を探したほうが良いかと。 > SubはC言語でいうところの、関数の様なもの。 そうですね。VB.NET では関数とは言わず、メソッドと言います。Sub は「戻り値のないメソッドの宣言」です。戻り値のあるメソッドは Function を使います。 > Moduleはそれらをまとめるグループ(?)もしくは関数の様なもの。 遭えて言うなら「Moduleはそれらをまとめるグループ」です。本来は先に Class というものを学習して、『Module は Shared Class と同じもの』と覚えたほうが良いのですがね。…というか、Module なんてカビが生えたような古い文法、実際には滅多に使わないです。 > NameSpeaceはModuleをまとめるグループ(?)もしくは関数の様なもの。 遭えて言うなら「NameSpeace は Module などをまとめるグループ」です。 なお、一口に Visual Basic と言っても、VB.NET、VBA、VBScript、VB6 と色々と種類があります。質問などをされる場合は明示的に VB.NET と言ったほうが良いかと。

Y-Kobayashi
質問者

お礼

細やかな回答ありがとうございます。 まずは、お礼が遅れたことを謝らせてください。 すみませんでした。 メールの認証ができていなかった様で、お礼の書き込みができない状況にありました。 >書籍の誤りだと思いますね。 やはりそうでしたか。 正誤表の方は確認できませんでしたので、ないものと思われます。 >初心者向けの、特にステップ・バイ・ステップでコードを作りながら学ぶ形式の書籍ではそのような傾向があります。 そうですか。 頑張って調べながらやっていこうと思います。 メソッドに関する解説ありがとうございます。 認識がある程度合っていた様で良かったです。 Moduleはカビが生えるほど古いのですか・・・ ちょっと残念です。 >なお、一口に Visual Basic と言っても、VB.NET、VBA、VBScript、VB6 と色々と種類があります。 Visual Basicにはそれだけの種類があるのですか。 驚きです。 これからは、正確な表記をしていきます。

専門家に質問してみよう