Question
fixer le nombre de membres d'un tableau
- jojo
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 187
- Remerciements reçus 0
il y a 15 ans 2 mois #9110
par jojo
fixer le nombre de membres d'un tableau a été créé par jojo
hello 
comment fixer le nombre de membres d'un tableau à 3 éléments seulement....voici un exemple de ce que je veux faire:
[code:1]PS> $arrayfix=1,5,8
PS> $arrayfix
1
5
8
PS> $arrayfix=1,5,8,9
PS> $arrayfix
# retourne une erreur:
# membres dépassant 3
PS>
PS> $arrayfix=1,5
PS> $arrayfix
# retourne une erreur:
# membres inférieur à 3[/code:1]
j'ai contourné ce problème en passant par une petite fonction, mais ça reste une solution peu académique à mon goût.
[code:1]function fix([array]$arrayfixe,[int]$count=3)
{ if($arrayfixe.Count -gt $count) { throw \"membres depassant $Count\" }
elseif($arrayfixe.Count -lt $count) {throw \"membres inférieur à $Count\"}
else {$arrayfixe}
}
PS> $monarray=\"p\",\"s\",\"u\" # ok
PS> fix $monarray
p
s
u
PS> $tabeleau=5,9 # inferieur au nombre d'éléments souhaité
PS> fix $tabeleau -count 9
PS>
PS>
PS> $array=5,9,6,\"k\" # dépasse le nombre d'éléments souhaité
PS> fix $array[/code:1]
existe-t'il une solution plus \"propre\" pour faire celà ?
merci
comment fixer le nombre de membres d'un tableau à 3 éléments seulement....voici un exemple de ce que je veux faire:
[code:1]PS> $arrayfix=1,5,8
PS> $arrayfix
1
5
8
PS> $arrayfix=1,5,8,9
PS> $arrayfix
# retourne une erreur:
# membres dépassant 3
PS>
PS> $arrayfix=1,5
PS> $arrayfix
# retourne une erreur:
# membres inférieur à 3[/code:1]
j'ai contourné ce problème en passant par une petite fonction, mais ça reste une solution peu académique à mon goût.
[code:1]function fix([array]$arrayfixe,[int]$count=3)
{ if($arrayfixe.Count -gt $count) { throw \"membres depassant $Count\" }
elseif($arrayfixe.Count -lt $count) {throw \"membres inférieur à $Count\"}
else {$arrayfixe}
}
PS> $monarray=\"p\",\"s\",\"u\" # ok
PS> fix $monarray
p
s
u
PS> $tabeleau=5,9 # inferieur au nombre d'éléments souhaité
PS> fix $tabeleau -count 9
PS>
PS>
PS> $array=5,9,6,\"k\" # dépasse le nombre d'éléments souhaité
PS> fix $array[/code:1]
existe-t'il une solution plus \"propre\" pour faire celà ?
merci
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 15 ans 2 mois #9129
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:fixer le nombre de membres d'un tableau
Salut,
il faut utiliser explicitement un constructeur de la classe ARRAY, là où PS le fait implicitement.
[code:1]
$T=new-object 'int32[]' 3
$t[0]=1
$t[1]=2
$t[2]=3
$t[3]=4
#L'affectation du tableau a échoué, car l'index « 3 » était hors limites.
[/code:1]
MAIS l'opérateur += remplacera tjr cette construction initiale.:
[code:1]
$t +=4
$t.Count
$t
[/code:1]
Pour l'en empêcher :
[code:1]
Remove-Variable T
New-Variable -Name T -Value (new-object 'int32[]' 3) -Option ReadOnly[/code:1]
Attention à ne pas confondre une variable PS en R/O et un objet de type tableau en R/O, car on pourrait combiner les deux, voir à ce sujet le chapitre 2.6 de ce tutoriel .<br><br>Message édité par: Laurent Dardenne, à: 9/03/11 21:12
il faut utiliser explicitement un constructeur de la classe ARRAY, là où PS le fait implicitement.
[code:1]
$T=new-object 'int32[]' 3
$t[0]=1
$t[1]=2
$t[2]=3
$t[3]=4
#L'affectation du tableau a échoué, car l'index « 3 » était hors limites.
[/code:1]
MAIS l'opérateur += remplacera tjr cette construction initiale.:
[code:1]
$t +=4
$t.Count
$t
[/code:1]
Pour l'en empêcher :
[code:1]
Remove-Variable T
New-Variable -Name T -Value (new-object 'int32[]' 3) -Option ReadOnly[/code:1]
Attention à ne pas confondre une variable PS en R/O et un objet de type tableau en R/O, car on pourrait combiner les deux, voir à ce sujet le chapitre 2.6 de ce tutoriel .<br><br>Message édité par: Laurent Dardenne, à: 9/03/11 21:12
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jojo
-
Auteur du sujet
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 187
- Remerciements reçus 0
il y a 15 ans 2 mois #9130
par jojo
Réponse de jojo sur le sujet Re:fixer le nombre de membres d'un tableau
trop fort 
merci Laurent..je vais sûrement lire ton tutoriel qui va bien m'aider à avancer
merci Laurent..je vais sûrement lire ton tutoriel qui va bien m'aider à avancer
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.035 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- fixer le nombre de membres d'un tableau