Tableaux PowerShell
De Linuxmemo.
(Différences entre les versions)
(→Déclaration (d'un tableau vide)) |
(→Table de hachage (tableau associatifs)) |
||
(Une version intermédiaire masquée) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:PowerShell]] | [[Catégorie:PowerShell]] | ||
- | ==Déclaration (d'un tableau vide)== | + | ==Tableau classique== |
+ | ===Déclaration (d'un tableau vide)=== | ||
$NomTableau = @() | $NomTableau = @() | ||
ou avec un typage | ou avec un typage | ||
Ligne 9 : | Ligne 10 : | ||
$tab = 1,5,9,10,6 | $tab = 1,5,9,10,6 | ||
- | ==Lecture d'un tableau== | + | ===Lecture d'un tableau=== |
$tab[0] | $tab[0] | ||
$tab[0,2] | $tab[0,2] | ||
Ligne 20 : | Ligne 21 : | ||
$tab[-3..-1] | $tab[-3..-1] | ||
Quand on utilise un indice négatif, on fait référence depuis la fin du tableau. | Quand on utilise un indice négatif, on fait référence depuis la fin du tableau. | ||
- | ==Concaténation== | + | ===Concaténation=== |
$chaine1 = 'a','z','e','r','t','y' | $chaine1 = 'a','z','e','r','t','y' | ||
$chaine2 = 'a','z','e','r','t','y' | $chaine2 = 'a','z','e','r','t','y' | ||
$chaine1 + $chaine2 | $chaine1 + $chaine2 | ||
- | ==Ajout== | + | ===Ajout=== |
$tab = 1,2,3 | $tab = 1,2,3 | ||
$tab += 4 | $tab += 4 | ||
- | ==Modification== | + | ===Modification=== |
$tab[2]=1 | $tab[2]=1 | ||
- | ==Suppression== | + | ===Suppression=== |
$tab = 12,18,10,14,8,11 | $tab = 12,18,10,14,8,11 | ||
Pour supprimer 8 on recopie le tableau a l’exception de l'indice 4 | Pour supprimer 8 on recopie le tableau a l’exception de l'indice 4 | ||
Ligne 35 : | Ligne 36 : | ||
Ou avec un filtre des valeurs inférieur a 10 | Ou avec un filtre des valeurs inférieur a 10 | ||
$tab = $tab | Where-Object {$_ -ge 10} | $tab = $tab | Where-Object {$_ -ge 10} | ||
- | ==Taille du tableau== | + | ===Taille du tableau=== |
$tab = @('A','24','12','C') | $tab = @('A','24','12','C') | ||
$tab.length | $tab.length | ||
- | ==Convertir en chaîne le contenu== | + | ===Convertir en chaîne le contenu=== |
[String]$tab | [String]$tab | ||
- | ==Tableau à plusieurs dimensions== | + | ===Tableau à plusieurs dimensions=== |
Il faut jouer avec les indices horizontaux et verticaux | Il faut jouer avec les indices horizontaux et verticaux | ||
$tab[0][2] | $tab[0][2] | ||
Ligne 50 : | Ligne 51 : | ||
$hashtable = @{} # vide | $hashtable = @{} # vide | ||
$hashtable = @{<clé = valeur>; <clé2 = valeur2>;...} | $hashtable = @{<clé = valeur>; <clé2 = valeur2>;...} | ||
+ | *lecture | ||
+ | $hashtable # tout le contenu | ||
+ | $hashtable.clé | ||
+ | ou | ||
+ | $hashtable.'clé' | ||
+ | ===Ajout=== | ||
+ | $hashtable += @{<clé3 = valeur3>} | ||
+ | ===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.$_ } | ||
+ | ===Table de hachage ordonnés (respect de l'ordre de renseignement)=== | ||
+ | $hashtable = [ordered]@{<clé = valeur>; <clé2 = valeur2>;...} |
Version actuelle en date du 23 février 2017 à 15:45
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>;...}