Question
Portée d'une variable
- Sylvain FOUCHER
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 14 ans 10 mois #9604
par Sylvain FOUCHER
Portée d'une variable a été créé par Sylvain FOUCHER
Bonjour,
Voici une petite réprésentation de mon problème :
[code:1]Fonction_1 {
Initialisation variable ($Var1 = New-Object 'object[,]' $NB_Lig,$NB_Col)
Initialisation variable ($Var2 = New-Object 'object[,]' $NB_Lig,$NB_Col)
Puis remplissage des variables
}
Fonction_2 {
Modification de la variable $Var1
}
Fonction_3 {
Modification de la variable $Var2
}
# Corps du texte
Fonction_1
Fonction_2
Fonction_3
Puis lecture des variables $Var1 et $Var2[/code:1]
Dans une fonction, j'initialise plusieurs variables multidimensionnelles (dont je ne connais pas le nombre de lignes et colonnes à l'avance).
Ces variables sont utilisées (modification/lecture) par plusieurs autres fonctions et par le corps du script.
Comme en VBS, je cherche à déclarer ces variables comme globales (sans les initialiser) puis à faire mes différentes manipulations (où là, je n'ai aucun problème).
Ayant encore quelques lacunes en PowerShell, j'ai des soucis à mettre ceci en œuvre.
Merci d'avance
Voici une petite réprésentation de mon problème :
[code:1]Fonction_1 {
Initialisation variable ($Var1 = New-Object 'object[,]' $NB_Lig,$NB_Col)
Initialisation variable ($Var2 = New-Object 'object[,]' $NB_Lig,$NB_Col)
Puis remplissage des variables
}
Fonction_2 {
Modification de la variable $Var1
}
Fonction_3 {
Modification de la variable $Var2
}
# Corps du texte
Fonction_1
Fonction_2
Fonction_3
Puis lecture des variables $Var1 et $Var2[/code:1]
Dans une fonction, j'initialise plusieurs variables multidimensionnelles (dont je ne connais pas le nombre de lignes et colonnes à l'avance).
Ces variables sont utilisées (modification/lecture) par plusieurs autres fonctions et par le corps du script.
Comme en VBS, je cherche à déclarer ces variables comme globales (sans les initialiser) puis à faire mes différentes manipulations (où là, je n'ai aucun problème).
Ayant encore quelques lacunes en PowerShell, j'ai des soucis à mettre ceci en œuvre.
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 14 ans 10 mois #9606
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Portée d'une variable
Salut,
tu peux utiliser $global:Var1, mais il préférable de
revoir la construction de ton script :
[code:1]
#portée principale
new variable
Fonction_1 #set variable
Fonction_2
Fonction_3
[/code:1]
Sinon à terme tes scripts/fonctions risquent de ne contenir que des globales...
Une autre approche, on manipule la portée :
[code:1]
Fonction_1 {
#Initialisation variable
New-Variable -name Var1 -scope -1 -value (New-Object 'object[,]' $NB_Lig,$NB_Col)
New-Variable -name Var2 -scope -1 -value (New-Object 'object[,]' $NB_Lig,$NB_Col)
Puis remplissage des variables
}
[/code:1]
tu peux utiliser $global:Var1, mais il préférable de
revoir la construction de ton script :
[code:1]
#portée principale
new variable
Fonction_1 #set variable
Fonction_2
Fonction_3
[/code:1]
Sinon à terme tes scripts/fonctions risquent de ne contenir que des globales...
Une autre approche, on manipule la portée :
[code:1]
Fonction_1 {
#Initialisation variable
New-Variable -name Var1 -scope -1 -value (New-Object 'object[,]' $NB_Lig,$NB_Col)
New-Variable -name Var2 -scope -1 -value (New-Object 'object[,]' $NB_Lig,$NB_Col)
Puis remplissage des variables
}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Sylvain FOUCHER
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 14 ans 10 mois #9617
par Sylvain FOUCHER
Réponse de Sylvain FOUCHER sur le sujet Re:Portée d'une variable
Merci beaucoup.
J'ai enfin pu faire ce que je voulais
J'ai enfin pu faire ce que je voulais
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.086 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Portée d'une variable