Question Renvoi valeur tableau

Plus d'informations
il y a 4 ans 10 mois #28928 par kevinklein
Renvoi valeur tableau a été créé par kevinklein
Bonjour,

Je fais appel à vos lumières.
Je souhaiterais créer un tableau contenant les valeurs ci-dessous :
table[0][0]=\"machine1\";table[0][1]=\"machine2\"
table[1][0]=\"machine3\";table[1][1]=\"machine4\"
table[2][0]=\"machine5\";table[2][1]=\"machine6\"
etc...
Et une variable qui contiendrait une des valeurs qui se trouve dans le tableau
ex : machine4

J'aimerais que mon script puisse me renvoyer la valeur du tableau correspondante à celle qui se
trouve dans la variable c'est à dire pour machine4, il s'agit de machine3.
Autre exemple : pour machine5, il s'agit de machine6.
etc...

Pourriez vous svp m'aider pour réaliser ce script ?

Merci d'avance
Cordialement<br><br>Message édité par: kevinklein, à: 16/05/19 15:30

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 ans 10 mois #28929 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Renvoi valeur tableau
Salut,
je crois que tu devrais revoir tes explications et le code d'exemple qui va avec.
je supposes que tu souhaites manipuler des pointeurs, mais tes exemples référencent à chaque fois une valeur et pas des indices référençant ton tableau.


kevinklein écrit:

c'est à dire pour machine4, il s'agit de machine3

Là je suis tombé dans le coma :silly:

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 ans 10 mois #28930 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Renvoi valeur tableau
Après intervention des secours, voici un exemple de ce que j'ai compris :
[code:1]
$table=@(@(),@(),@())
$table[0] +=@(\&quot;Machine1\&quot;,\&quot;Machine2\&quot;«»)
$table[1] +=@(\&quot;Machine3\&quot;,\&quot;Machine4\&quot;«»)
$table[2] +=@(\&quot;Machine5\&quot;,\&quot;Machine6\&quot;«»)
$Variable=$table[1][1]
$Variable
$pointeurTab=[ref]$table[1][0]
$pointeurTab
$pointeurTab.Value

#Plus loin, plus haut, plus ...
$table=@(@(),@(),@())
$table[0] +=@( \&quot;Machine1\&quot;,( [ref]$table[0][0]) )
$table[1] +=@( \&quot;Machine3\&quot;,( [ref]$table[1][0]) )
$table[2] +=@( \&quot;Machine5\&quot;,( [ref]$table[2][0]) )
#Ne fonctionne pas car la référence, au moment de sa déclaration, pointe sur un tableau inexistant.

#en 2 passes
$table=@(@(),@(),@())
$table[0] +=@( \&quot;Machine1\&quot;,$null) #$Null ce n'est pas rien, réserve 'l'emplacement' mémoire
$table[1] +=@( \&quot;Machine3\&quot;,$null)
$table[2] +=@( \&quot;Machine5\&quot;,$null)
$table[0][1] = [ref]$table[0][0]
$table[1][1] = [ref]$table[1][0]
$table[2][1] = [ref]$table[2][0]

#si on simplifie
$table=@()
$table +=@( \&quot;Machine1\&quot;«»)
$table +=@( \&quot;Machine2\&quot;«»)
$table +=@( \&quot;Machine3\&quot;«»)
$P1 = [ref]$table[0]
Remove-Variable P1

#Il me semble plus lisible de typer la variable 'pointeur' que de caster la valeur reçue,
#même si le résultat est identique
[ref]$P1 = $table[0]
$table[0]
$P1.Value
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 16/05/19 18:21

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.069 secondes
Propulsé par Kunena