技術メモ

神奈川在住のITエンジニアの備忘録。おもにプログラミングやネットワーク技術について、学んだことを自分の中で整理するためにゆるゆると書いています。ちゃんと検証できていない部分もあるのでご参考程度となりますが、誰かのお役に立てれば幸いです。

powershellのハッシュ内に配列を含める

以前、perlスクリプトを作成していた頃、ハッシュ(連想配列)のkeyが文字列で、valueが配列(やハッシュ)という構造を良く使っていた。
最近勉強中のpowershellではどうやるのか調べたところ、perlと同じような感じで書けるようだ。以下は、keyが文字列でvalueが配列の簡単なpowershellのサンプル。

# ハッシュの宣言
$hash = @{}

# ハッシュに入れる key(文字列) と value(配列) を作成
$key1 = "ax"
$value1 = @("a1", "a2", "a3")
$key2 = "bx"
$value2 = @("b1", "b2", "b3")
$key3 = "cx"
$value3 = @("c1", "c2", "c3")

# 上記で作成したデータをハッシュに追加
$hash[$key1] = $value1
$hash[$key2] = $value2
$hash[$key3] = $value3

# ハッシュから全データ(value)の取り出し
foreach ($key in $hash.Keys) {
    $values = $hash[$key]
    foreach($value in $values){
        Write-Host $value
    }
}


上記を実行すると、以下のようにvalueの中身が全て出力される。

a1
a2
a3
b1
b2
b3
c1
c2
c3