[PowerShell Core 入門] 配列変数の使用方法

PowerShell Core PowerShell Core
PowerShell Core

配列変数に値を代入するには?

PowerShell Core にも他のプログラミング言語と同様に配列変数があります。

配列変数とは、複数の値を1つのまとまりとして持つことができる変数のことです。

配列には、値をカンマで区切って代入します。

例えば、変数 $box に 1, 2, 3, 4, 5 の5つの値を代入したい場合は、以下のようにします。

PS > $box = 1,2,3,4,5

 

次に、配列に文字列を代入する例を示します。

この例では $colors に「赤」「青」「黄」を代入します。PowerShell では、文字列は 「”」で囲むことで表します。

PS > $colors = "赤","青","黄"

範囲演算子を使用したデータの代入

範囲演算子というのは、文字通り範囲を表す演算子です。「開始値..終了値」のようにすることで連続した範囲を表すことができます。

先ほどの $box に 1,2,3,4,5 を代入するコードは範囲演算子を使用して以下のように書き換えることができます。1..100 のようにすれば、1から100までの値を代入することができます。

PS > $box = 1..5

配列変数の値を参照するには?

配列に値を代入する方法がわかりましたので、今度は値を参照してみましょう。

配列に代入されている値を参照するには、以下のように変数名を入力して[Enter]キーを押します。

PS > $box [Enter]
1
2
3
4
5

PS> $colors [Enter]
赤
青
黄

配列に代入した値にはそれぞれ 0から始まる番号がついており、この番号のことを要素番号やインデックスと呼びます。

要素番号は 0から始まりますので、末尾の要素番号は「代入したデータの個数 – 1」となります。

任意の要素番号のデータを参照したい場合は「変数名[要素番号]」とします。

例えば、変数 $box の要素番号が 2 のデータを確認したい場合は以下のようにします。

PS > $box[2] [Enter]
3

PS > $colors[2] [Enter]
黄

末尾の要素を参照するには

配列の要素番号に負の値「-n」を与えると、配列の末尾から -n 番目のデータを参照することができます。

よって、配列の末尾のデータを参照したい場合は -1 を指定します。

$box[-1]
5

範囲演算子を使用した値の参照

範囲演算子「..」を使用して、値を参照することもできます。

例えば、要素番号が2から4までの値を参照したい場合は以下のようにします。

$box[2..4]
3
4
5

範囲演算子を「+」記号と組み合わせると、複数の範囲の値を参照することもできます。

例えば、要素番号が0から1の範囲と、3から4の範囲の値を一度に取得したい場合は以下のようにします。

$box[0..1+3..4]
1
2
4
5

要素数を確認するには?

配列にいくつの要素(データ)が入っているかを確認するには、 Count プロパティを使用します。

Count プロパティは、「変数名.Count」のようにして使用します。

PS > $box.Count
5

PS > $colors.Count
3

配列にデータを追加するには?

配列にデータを追加するには、「+=」演算子を使用します。

例えば、変数 $box に新しいデータ「6」を追加する場合は以下のようにします。

PS > $box += 6
PS > $box
1
2
3
4
5
6

配列を連結するには?

配列は「+」演算子を使用することで、複数連結することができます

例えば、配列 $box と $box2 を連結して $boxXを作成するには以下のようにします。$box2 には7 と8 の数値を代入しています。

PS > $box2 = 7,8
PS > $boxX = $box + $box2
PS > $boxX
1
2
3
4
5
7
8

指定した要素番号のデータを削除するには?

指定した要素番号のデータを削除するには、$null を代入します。

例えば、$box の要素番号のデータを削除するには、以下のようにします。

PS > $box[0] = $null
PS > $box
2
3
4
5
6

「1」というデータが削除されていることがわかります。

ただし、要素番号が繰り上がることはありません。要素番号が1のデータを確認すると「2」のままであることがわかります。

PS > $box[1]
2

配列を初期化するには?

Clearメソッドを実行すると、配列を初期化(配列の全てのデータを削除)することができます

ただし、要素番号はリセットされません

PS > $box.Clear()

2次元配列を使用するには?

2次元配列を作成するには、@((値1, 値2, …値n), (値1, 値2, ..値3)) のようにします。

例えば1,2,3 と 4,5,6 のデータを持つ2次元配列を作成するには以下のようにします。

PS > $box2d =@((1,2,3),(4,5,6))
PS > $box2d
1
2
3
4
5
6

2次元配列の値を参照するには?

2次元配列は、変数名[要素番号][要素番号]のようにします。左側の[]には次元数が入りますので 0〜1までの数値を入れます。右側の[]には、参照したい要素の番号を入れます。

以下に2次元配列の参照例を示します。

PS > $box2d[0][0]
1
PS > $box2d[0][1]
2
PS > $box2d[0][2]
3
PS > $box2d[1][0]
4
PS > $box2d[1][1]
5
PS > $box2d[1][2]
6

 まとめ

今回は、配列を扱う様々な方法について説明をしました。

配列を使用することで、1つの変数で多くの値をまとめて管理することができます。

ただし、記事中でも説明したように、一部のデータを削除したとしても配列のサイズが変わることはありませんので注意をしてください。

 

コメント

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