Powershellで配列を作成して値を追加してみた

Powershell Powershell

やり方に少し苦戦したので、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型であることが確認できます。

コメント

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