概要
powershellで配列の比較についてのいろいろ
-eq
1,2,1,3 -eq 1
答え 1,1
つまり、一致した配列が帰ってくる。一致しない場合は次
$a = (1,2,1,3 -eq 5)
答え
この場合$a.lengthとしてみると0になっているので、つまりは空の配列が応答される。
-in,-countains
1,2,1,3 -contains 1
答え true
1 -in 1,2,1,3
答え true
-inと-containsはパラメータが逆
まあ、これはtrueだけを返すので、どこにいるのかを判別するには別途処理が必要となる。
-match
こいつがなかなか有用
"Bag", "Beg", "Big", "Bog", "Bug" -match 'b[iou]g'
答え Big, Bog, Bug
不思議なことに-likeは配列には対応していないようである。
答えの結果は$matchesにも格納されているので詳しくはググりましょう
indexof
$a=1,2,1,3
$a.indexof(2)
答え 1
$a.indexof(5)
答え -1
見つかった最初のindexを応答するわけで、見つからなかったら-1が帰る
$a|? {$_ -eq 1}
?=where-object
まあ、もしかすると、これがわかりやすいかなあ。codeも少ないし