Tableaux PowerShell

De Linuxmemo.

Sommaire

[modifier] Tableau classique

[modifier] Déclaration (d'un tableau vide)

$NomTableau = @()

ou avec un typage

[String[]]$NomTableau = @()

Déclaration avec initialisation en même temps

$tab = @(1,5,9,10,6)
ou 
$tab = 1,5,9,10,6

[modifier] Lecture d'un tableau

$tab[0]
$tab[0,2]
$tab[1..20
  • Dernier indice
$tab[$tab.length-1]
ou
$tab[-1]
$tab[-3..-1]

Quand on utilise un indice négatif, on fait référence depuis la fin du tableau.

[modifier] Concaténation

$chaine1 = 'a','z','e','r','t','y'
$chaine2 = 'a','z','e','r','t','y'
$chaine1 + $chaine2

[modifier] Ajout

$tab = 1,2,3
$tab += 4

[modifier] Modification

$tab[2]=1

[modifier] Suppression

$tab = 12,18,10,14,8,11
Pour supprimer 8 on recopie le tableau a l’exception de l'indice 4
$tab = $tab[0..3 + 5]
Ou avec un filtre des valeurs inférieur a 10
$tab = $tab | Where-Object {$_ -ge 10}

[modifier] Taille du tableau

$tab = @('A','24','12','C')
$tab.length

[modifier] Convertir en chaîne le contenu

[String]$tab

[modifier] Tableau à plusieurs dimensions

Il faut jouer avec les indices horizontaux et verticaux

$tab[0][2]

La plus par du temps, un tableau a plusieurs dimensions est un tableau de tableau

$tab = @(10..13),@('si','ca'),@(1.2,0.3,2.33)

[modifier] Table de hachage (tableau associatifs)

Clé / valeur

  • déclaration
$hashtable = @{}   # vide
$hashtable = @{<clé = valeur>; <clé2 = valeur2>;...}
  • lecture
$hashtable     # tout le contenu
$hashtable.clé
ou
$hashtable.'clé'

[modifier] Ajout

$hashtable += @{<clé3 = valeur3>}

[modifier] Parcourir le tableau

  • depuis les clés
$hashtable.keys        # propriété keys
  • depuis les valeurs
$hashtable.values      # propriété values
ou
$hashtable.keys | Foreach { $hashtable.$_ }

[modifier] Table de hachage ordonnés (respect de l'ordre de renseignement)

$hashtable = [ordered]@{<clé = valeur>; <clé2 = valeur2>;...}
Outils personnels