goo blog サービス終了のお知らせ 

gooブログはじめました!

写真付きで日記や趣味を書くならgooブログ

VBSでのFunctionプロシージャ終了について

2007-01-26 20:31:15 | Windows

VBScript関連本: C言語関連本: シェルスクリプト関連本

 VBScriptでの関数(VBSのFunction プロシージャ)を途中で終了するには、戻り値の指定をするだけではなくExit Functionをしないといけないのね

 戻り値の指定=cのreturnと同じと勘違い

 それに気がつかず30分ははまった

以下その例です

 そこの君、終了するにはiを100以上にしたらいいじゃんとかいわないように、これは説明簡略化しただけやからね一応........

 常識といわれればそれまでですな


1.だめプログラムの例

WScript.Echo "テスト開始"
WScript.Echo looptest() &"回ループしました。"

function looptest()

    Dim i
    i = 0

        Do While i<100
            if i <= 5 then
                WScript.Echo i & "以上になったので終了します"
                looptest = i
            end if
            i=i+1
        Loop
    WScript.Echo "先生!!、実は" & i  & "回まわってます"
    looptest = i
end function


2.だめプログラムの結果

テスト開始
5以上になったので終了します
先生!!、実は100回まわってます
100回ループしました。


3.正しいプログラム

WScript.Echo "テスト開始"
WScript.Echo looptest() &"回ループしました。"

function looptest()

    Dim i
    i = 0

        Do While i<100
        if i <= 5 then
            WScript.Echo i & "終了します"
            looptest = i
            Exit Function
        end if
        i=i+1
        Loop
        WScript.Echo "先生!!、実は"& i  & "回まわってます"
    looptest = i
end function


4.正しいプログラムの結果

テスト開始
5以上になったので終了します
5回ループしました。


VBScript関連本: C言語関連本: シェルスクリプト関連本


最新の画像もっと見る

コメントを投稿