技術メルマガネタ
青木「歴史に if は無いというが、Visual Basic には if があるッ!!!」
田中「まぁ、そりゃそうでしょうね。if 文がないと条件分岐ができないし…」
青木「しかし、if が無ければ、前だけ向いて進めばいいという先生の話も理解できるし」
田中「いや、それ、ラジオの CM ですし…」
青木「しかし、if が無ければ、管直人の支持率もアップアップだったわけだし」
田中「if というか、それ現実ですし…というか、アップアップって…」
青木「しかし、if が無ければ、小学校の思い出が、今現実のものとなり、今ここで発現されたチェレンコフ光が」
田中「if というか、訳わからないし…しかも、最後が微妙に危ないし…」
青木「まぁ、あれだよな。if とか select とか無いほうが、物事一直線で安全だよな」
田中「いや、猪突猛進管内閣自暴自棄暴走茫漠ということで」
これも却下ネタ。
技術メルマガでは、政治ネタはオミット。
[code lang=”vb”]
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i1 As Integer = 0
Dim i2 As Integer = 2
‘ 単純な = 演算子
If i1 = 0 Then
End If
‘ 否定のための <> 演算子
If i1 <> 0 Then
End If
‘ 比較演算子
If i1 < 0 Then
End If
‘ Else も使うよ
If i1 = 0 Then
‘ マッチする場合
Else
‘ マッチしない場合
End If
‘ ElseIf も使うよ
If i1 = 0 Then
‘ 最初の条件にマッチする場合
ElseIf i1 = 1 Then
‘ 2番目の条件にマッチする場合
Else
‘ それ以外
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
‘ 2 つの条件を指定する
Dim s1 As String = "tonny"
Dim s2 As String = "masuda"
‘ 両方の条件を一度に満たす
If s1 = "tonny" And s2 = "masuda" Then
End If
If s1 = "tonny" AndAlso s2 = "masuda" Then
End If
‘ どちらか一方の条件を満たす
If s1 = "tonny" Or s2 = "masuda" Then
End If
If s1 = "tonny" OrElse s2 = "masuda" Then
End If
‘ ベン図を使う
If s1 <> "tonny" Or s2 <> "masuda" Then
End If
‘ 複雑なので not を使う
If Not (s1 = "tonny" And s2 = "masuda") Then
End If
‘ 条件が多くて分かりづらい場合は、if 文を重ねると良い
If s1 <> "tonny" Then
If s2 <> "masuda" Then
End If
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim s1 As String = "tonny"
Select Case s1
Case "tonny"
‘ tonny の場合
Case "masuda"
‘ masuda の場合
Case Else
‘ 上記以外
End Select
‘ 実は if else と同じ
If s1 = "tonny" Then
‘ tonny の場合
ElseIf s1 = "masuda" Then
‘ masuda の場合
Else
‘ 上記以外
End If
‘ : を使って短く書ける
Dim s2 As String = ""
Select Case s1
Case "tonny" : s2 = "トニー"
Case "masuda" : s2 = "増田"
Case Else : s2 = "トニー 増田"
End Select
‘ 関数を使ってシンプルに
Dim s3 As String = Check(s1)
‘ 文字列の場合は、Dictonary を使う方法もある
‘ あらかじめ設定しておく
Dim dic As New Dictionary(Of String, String)
dic.Add("tonny", "トニー")
dic.Add("masuda", "増田")
‘ 辞書から検索
If dic.ContainsKey(s1) = True Then
s3 = dic(s1)
Else
s3 = "トニー 増田"
End If
End Sub
”’ <summary>
”’ SELECT 内で Return を使う
”’ </summary>
”’ <param name="str"></param>
”’ <returns></returns>
”’ <remarks></remarks>
Private Function Check(ByVal str As String)
Select Case str
Case "tonny" : Return "トニー"
Case "masuda" : Return "増田"
Case Else : Return "トニー 増田"
End Select
End Function
End Class
[/code]
「…訳はない」というか「…ハズはない」というタイトルがよいなぁ。
「…わけではない」とか。
最初は、歴史ものの if シリーズを意識するはずだったのだが、会話が途中でずれてしまった。なので、黒字率を高めてごまかす、という定番。