PowerShell講座です。
前回は、演算子について紹介しました。
第4回目は、配列についてです。
環境は、Windows 10(64bit)、PowerShell 6.1.2 です。
それでは見ていきましょう。
配列とは
配列は複数の箱(データ格納庫)が並んでいるようなイメージです。
以前、紹介した PHP講座でも配列を紹介しました。
PowerShell も配列が使えるのです。
配列を生成する方法はいくつかあります。
$a = 1, 2, 3
このとき、$a[0] の値は下記のようになります。
1
0 の部分をキーと言ったりします。
また、下記のように生成することもできます。
$a = @(1; 2; 3)
レンジ演算子を使った配列生成
配列の要素が増えてくると記述が面倒です。
そんなときに便利なのがレンジ演算子です。
$a = 1..10
このように書くと 1~10 まで一気に配列を生成してくれるのです。
ただし、始めと終わりは整数でなければいけません。
下記が実行結果です。

連想配列とは
先程のキーが数字であったのが文字列になる配列のことです。
つまり数字以外でキーを持つことができます。
$a = @(名前="ぱそた"; 性別="男")
といった感じで書きます。
PSCustomObjectでキャストした連想配列
カスタムオブジェクト(自作オブジェクト)をつくるときに便利です。
$a = [PSCustomObject]@{名前 = "ぱそた"; 性別 = "男"}, [PSCustomObject]@{名前 = "あどみん"; 性別 = "女"}
下記が実行結果です。

このように連想配列を利用して簡単に自作オブジェクトをつくることができます。
連想配列と違って、順序が保証されます。
CSVファイルを出力するときなどに便利です。
最後に
いかがでしょうか。
配列に関しては、当サイトのPHP講座でも紹介したので語ることはほとんどないのですが。
今回の記事のポイントはカスタムオブジェクトをつくるときに連想配列を利用できるというところです。
前回の記事に紹介したキャスト演算子と PSCustomObject という特殊な型を利用して簡単に自作オブジェクトをつくることができます。
PowerShell は、コマンド(レット)が長かったり、見慣れない構文があったりするので。
本を読むより、実際動かした方が理解が深まる気が個人的にはしました。
まだまだ勉強中ですが、がんばって進めていきます。
次回は CSVデータ入出力についてです。
今回紹介した連想配列を利用したカスタムオブジェクトが役立ちます。