Entries

なぜVB厨はString型を好むのか?

今日は職場でかつてのデスマーチソースを拝見することになった。
正直言って関わりたくない案件なんだがどうしてもヘルプが必要だったらしい。
しょうがないから見てちょっとバグ直したりした。
このままなし崩し的に「おまえメインだから^^」とかにならなければいいが・・・orz

んで、このプロジェクトの中でよく分からんコードを発見した。

Sub hoge

 combo1.SelectedIndex = GetIndex()

End Sub

Function GetIndex() As String

 Dim ret As Integer
 =なんかリターン値探る処理=
 Return ret

End Function

一目見て何が悪いのかよくわからなかったけど、よくよく見ると整数型に値を入れるメソッドの戻り値が、文字列型で定義されているという謎w
しかもメソッド内部では1度も文字列型なんて使わないで、整数型をリターンしているという不条理。
VBの内部的にはこの記述は合法なようで、警告とか全くでなかったw

VBはコレがあるから嫌いだw
文字列A = 数値a とかの代入もOKだし、If 文字列A = 数値a って比較も合法ときたもんだ。
しかも"1" = 1の結果がTrueだもんね。気持ち悪すぎるw

VBはマジで何でもありだからなー。
たとえば下記のコード。

Dim A As Integer
Dim B As Integer

A = B = 1

AとBを1で初期化したいって処理なんだけど、これを実行したあとのAとBの値は・・・!?
結果は実行してのお楽しみw
なぜAとBの値があの結果なのかの理由を知るのにも何日もかかったよ。。。
コレばっかりはVBの仕様だから糞とは言えないが他言語経験者は気をつけようw
関連記事
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://frommii.blog28.fc2.com/tb.php/1023-fc5ebcfe
当ブログへのトラックバックは記事もしくはブログトップへのリンクが必要となります。
また、当ブログへのリンクの無いトラックバックは削除する事があります。あらかじめご了承ください。

0件のトラックバック

0件のコメント


コメントの投稿

現在"http://"を投稿規制しております。URL記入の際はhttpを抜きにしてご記入ください。
投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

Appendix

プロフィール

Mii

Author:Mii
Odinサーバーで活躍中のミスラです。
狩シ赤と60まで上げてきましたが、どうやら赤魔が性に合っているようです。

ツイート

OdinLinks

月別アーカイブ

05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 12 11 10

全記事一覧表示

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

ブログ内検索