PowerShellのswitchステートメントを使ってVBのSelect Caseステートメント風の動作をさせてみる - PowerShell Scripting Weblog

2007/08/31

VBやVBScriptだと、条件分岐させるSelect Caseステートメントで条件Case節に単数あるいは複数の条件を書けます。こんな感じ。

For a=1 To 12
    Select Case a
        Case 6
            MsgBox a & "は6ですよー"
        Case 5,7
            MsgBox a & "は5か7ですよー"
    End Select
Next

また、VBScriptではなぜか使えませんがIsとかToも使えます。

For a=1 To 12
    Select Case a
        Case Is > 10
            MsgBox a & "は10よりおおきいですよー"
        Case 1 To 3
            MsgBox a & "は1から3ですよー"
    End Select
Next

PowerShellでこの辺と等価なコードを書くとこんなかんじでしょうか。配列も渡せるところも注目。

$a=1..12
switch($a){
    6 {"$_ は6ですよー"}
    {5,7 -contains $_} {"$_ は5か7ですよー"}
    {$_ -gt 10} {"$_ は10よりおおきいですよー"}
    {1 -le $_ -and $_ -le 3} {"$_ は1から3ですよー"}
}

結果

1 は1から3ですよー
2 は1から3ですよー
3 は1から3ですよー
5 は5か7ですよー
6 は6ですよー
7 は5か7ですよー
11 は10よりおおきいですよー
12 は10よりおおきいですよー
元記事:http://blogs.wankuma.com/mutaguchi/archive/2007/08/31/93060.aspx

トラックバック

トラックバックはまだありません

トラックバックPing:


コメント

コメントはまだありません


コメントをどうぞ

名前 (省略可) :
E-mail or URL (省略可) :


前の記事へ | 次の記事へ

Copyright © 2005-2016 Daisuke Mutaguchi All rights reserved

mailto: mutaguchi at roy.hi-ho.ne.jp

Awards

Books

Twitter