VisualBasic6.0です。
Return ステートメントというものがありますが皆さんは使用していますか?
どういった場合などに使用していますか?
こういうのを聞くのはどうかな?っと思いますが、
どのような流れにしたいかによって使う場合があります。
ん〜〜〜例えばですね・・・・・・・・
Functionの自作関数を作って、変数に入れて戻す方法がありますが、そちらの場合で行うと処理を2回ほど記述する可能性が出てきてしまいます。
そこをReturnステートメントにすると1回の記述で済ませることが出来、処理を途中で中止させることになります。
ちょっとこの文章、分かりづらいので、ソースで説明すると、
msgbox(Call a())
Private Function a() As String
a="あ"
a="い"
Exit Function
と
msgbox(Call a())
Private Function a() As String
Return "あ"
Return "い"
Exit Function
の2つを実行してみれば分かりますが、場合と状況によって使うときが出てくると思います。
とりあえずHelpは読みましたでしょうか?
> VisualBasic6.0
http://www.microsoft.com/JAPAN/developer/library/Vbenlr98/vastmgosub.htm
> マグさん
の解説って、.NETなのでは?
VB6だと、
Sub ステートメント
http://www.microsoft.com/JAPAN/developer/library/Vbenlr98/vastmsub.htm
> メモ GoSub、GoTo、Return などのステートメントを使って、Sub プロシージャに入ったり、Sub プロシージャから抜けたりすることはできません。
とあります。
さらに
GoSub...Return ステートメント
http://www.microsoft.com/JAPAN/developer/library/Vbenlr98/vastmgosub.htm
> GoSub ステートメントとそれに対応する Return ステートメントは同じプロシージャ内になければなりません。
更に参考
http://www.microsoft.com/japan/msdn/vs/vb6/vb6tovbdotnet.asp
> GoSub および Return 文は Visual Basic .NET ではサポートされていません。
なんか勘違いしていますかねぇ。
# Returnなんてつかったことなかったので(汗)
基本的に、構造化プログラミング以前の名残なので、
コーディングルールで明確に禁止してる場合もあるし、個人的には、
BASIC(Not Visual Basic)からの移植で仕方なく...
というケース以外は使用しないですけど。
.NETでも使えませんので、
http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet06/vb6tonet06_02.html
今から勉強されるのであれば、
「昔の名残で、現在では使わないものだ」 と思っていてイイと思いますよ。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200601/06010012.txt
のボクのコメントに対する質問なら、ボクが対象としてるのは[VB.NET]ですので。
一応、リンク先でも書いてありますが、[VB.NET]を知らない人には混同するような
書き込みかもしれません。ごめんなさい。[VB.NET]の使用法は↓
[Return ステートメント]
http://www.microsoft.com/japan/msdn/library/ja/vblr7/html/vastmfunction.asp
動作の違いを確認ください。
リンク間違いm(__)m
Function ステートメントに飛んじゃいますね。
[Return ステートメント]
http://www.microsoft.com/japan/msdn/library/ja/vblr7/html/vastmReturn.asp
GoSub とか GoTo とかと同レベルで、使ったことないや。
VB2002 以降では Return ウマーなんですけど。
とりあえずN88ばしっく以来使おうと思ったことがありません。
あけおめ〜
>Blueさん
.NETとVB6のサブルーチンの記述って違ったんですか。
このぐらいなら、同じだろうと思って書き込みしてしまいました。
1さん、混乱させてしまい、すみません。
そういえば、自分もGosubやGoTo文って使ったことなかった・・・・・・・
プログラムをやり始めたときはバンバン使って、処理中の中をあちこち飛びまくって戻ったり、先に進んだりさせていたような記憶が(ー▽ー;)・・・・・・・・・・
でも、N88-BASICではGoSub ラベル:しか制御構造はなかったから。
サブルーチンは少し桁の違う行で分散させて構造化していましたが。
ツイート | ![]() |