やり方に少し苦戦したので、powershellでの配列の作成と配列への値の追加方法についてまとめてみました。
配列の作成方法
今回は $hogehoge_list という変数を配列として扱い、値を格納していきます。
配列の作成方法として、以下のパターンに示す2つの方法があります。
パターン1:空の配列を作成する方法
$hogehoge_list = @();
パターン2:格納する値を指定して配列を作成する方法
$hogehoge_list02 = 1,2,3
配列への値の追加方法
出力結果がわかるように上記の2パターンの配列に対して値を追加します。
配列への値の追加は「+=」演算子を利用して追加します。
#パターン1への値の追加
$hogehoge_list += 1
$hogehoge_list += 10000
#パターン2への値の追加
$hogehoge_list02 += 1
$hogehoge_list02 += 10000
実行結果(追加された値の確認)
パターン1の実行結果
PS C:\> $hogehoge_list = @();
PS C:\> $hogehoge_list += 1
PS C:\> $hogehoge_list += 10000
PS C:\> $hogehoge_list
1
10000
PS C:\>
パターン2の実行結果
PS C:\> $hogehoge_list02 = 1,2,3
PS C:\> $hogehoge_list02 += 10000
PS C:\> $hogehoge_list02
1
2
3
1
10000
PS C:\>
異なる変数型も格納が可能
powershellでは異なる変数型も一緒に配列に格納可能です。
試しにパターン1の $hogehoge_list に対して文字列「hogehoge」を格納し、各値の型情報を .GetType()メソッドを利用して確認してみます。
PS C:\> $hogehoge_list = @();
PS C:\> $hogehoge_list += "hogehoge"
PS C:\> $hogehoge_list
1
10000
hogehoge
PS C:\>
PS C:\> $hogehoge_list[0].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType
PS C:\>
PS C:\> $hogehoge_list[1].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Int32 System.ValueType
PS C:\>
PS C:\> $hogehoge_list[2].GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
PS C:\>
配列の3番目にあたる、追加で格納した「hogehoge」という文字列だけ String型であることが確認できます。
コメント