2017-08-17 1 views
4

Je me demandais s'il existait un moyen plus court de créer un tableau de hachage multidimensionnel dans PowerShell. J'ai réussi à les créer avec quelques lignes comme ça.Créer une matrice de tableau de hachage multidimensionnel dans Powershell

$arr = @{} 
$arr["David"] = @{} 
$arr["David"]["TSHIRTS"] = @{} 
$arr["David"]["TSHIRTS"]["SIZE"] = "M" 

Cela dit, je me demandais s'il y avait un moyen de raccourcir ce à quelque chose comme ça ...

$new_arr["Level1"]["Level2"]["Level3"] = "Test" 

où cela créerait un nouveau niveau si elle n'existe pas déjà. Merci!

+1

Vous êtes après [autovivification] (https://en.wikipedia.org/wiki/Autovivification) et non, PowerShell ne l'a pas. –

Répondre

8

Vous devez nom/définir les sous-niveaux ou bien l'interprète ne sait pas quel genre de type, il travaille avec (array, noeud unique, objet, etc.)

$arr = @{ 
    David = @{ 
     TSHIRTS = @{ 
      SIZE = 'M' 
     } 
    } 
}