GarbageCompany

満つらざるとも屈せず

VB嫌い

この間新人研修でVBを教えました。

簡単な関数を作って、それを利用するだけの単純なプログラムです。

ちなみにVB6.0です。


Sub Swap(a, b)

End Sub

Sub Main()

Swap(i,j) …●

End Sub


まぁ実際、読む必要も無いようなプログラムです。

が、これがエラー。何故?

あぁ、戻り値を取ってないからいけないのかな?

ということで●部にCallを追加。無事に動きました。

しかしその後色々試して見ると、●部の書き方次第で動作が変わってくることが分かりました。


× Swap (i,j)

○ Call Swap (i,j)

○ Swap i,j

× Call Swap i,j


具体的にはこの様になりました。

カッコをつける、つけないで扱いが変わってくるようです。

…って、え、なにこれ?バグ?

というわけで仕様だったわけですが、なにこういうのってVBじゃ常識なの?あぁん?

何カッコのあるなしで振る舞い変えてんですか?

わー、VBはとってもじゅうなんで、たのんでもいないことをきちんとやってくれてすごいよね!

とか思いました。