PowerShell(配列操作)


ドラマ『ウチの夫は仕事ができない』

全然仕事できる感じですが、誤解されるんでしょうねえ。 粘菌好きのマイペースで一所懸命な主人公を見てると癒されます。

(本記事はPowerShell入門記事としてコチラにもまとめています。)

さて、プログラマーが仕事をこなすには、やはり基礎鍛錬が大事です。PowerShellで分かっていそうで分かっていない配列を使ってみます。
まず連番の生成から。1~5の整数を作ります。

PS C:\Users\takk> $arr=1..5
PS C:\Users\takk> $arr
1
2
3
4
5
PS C:\Users\takk>

負の数も作れます。

PS C:\Users\takk> $arr=-3..2
PS C:\Users\takk> $arr
-3
-2
-1
0
1
2
PS C:\Users\takk>

配列数を取得するには、Countです。

PS C:\Users\takk> $arr.Count
6
PS C:\Users\takk>

カンマで区切って配列を作成。

PS C:\Users\takk> $arr=10,-20,30,-40,50,-60
PS C:\Users\takk> $arr
10
-20
30
-40
50
-60
PS C:\Users\takk>

比較演算子でフィルタリングもできます。

PS C:\Users\takk> $arr -gt 0
10
30
50
PS C:\Users\takk> $arr -lt 0
-20
-40
-60
PS C:\Users\takk>

変数の値自体を変えるには、変数へ再代入するだけです。

PS C:\Users\takk> $arr2 = $arr -gt 0
PS C:\Users\takk> $arr2 = $arr2 -gt 10
PS C:\Users\takk> $arr2
30
50
PS C:\Users\takk>

一致しない値を抽出。

PS C:\Users\takk> $arr -ne 30
10
-20
-40
50
-60
PS C:\Users\takk>

条件を増やして抽出。

PS C:\Users\takk> $arr -ne 30 -ne 50 -ne -40
10
-20
-60
PS C:\Users\takk>

配列を繰り返し。

PS C:\Users\takk> $arr * 2
10
-20
30
-40
50
-60
10
-20
30
-40
50
-60
PS C:\Users\takk>

文字列にも使えます。

PS C:\Users\takk> "HELLO" * 10
HELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLOHELLO
PS C:\Users\takk>

奇数を抽出。

PS C:\Users\takk> $arr=1..20
PS C:\Users\takk> ($arr | %{$_*($_%2)}) -ne 0
1
3
5
7
9
11
13
15
17
19
PS C:\Users\takk>

偶数。

PS C:\Users\takk> ($arr | %{$_*(1-$_%2)}) -ne 0
2
4
6
8
10
12
14
16
18
20
PS C:\Users\takk>

コメント

タイトルとURLをコピーしました