Question
Variable globale
- jerome
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 8 mois #4362
par jerome
Variable globale a été créé par jerome
Bonjour à tous,
Une question sur les variables globales, je sais qu'en powershell la déclaration des variables n'est pas nécessaire.
Cependant j'aimerai déclarer mes variables globales en début de script, si j'utilise la commande suivante:
[code:1]
$global:MaVariable
[/code:1]
MaVariable à une portée globale, cependant si j'essaye de lui affecter une valeur dans le corps du script, j'ai l'impression qu'elle perd la portée globale.
[code:1]
MaVariable = 2
[/code:1]
Est que je suis obligé de préciser la portée quand j'affecte une valeur à ma variable ou est-ce que je peux le faire en avance de phase.
Merci.
Une question sur les variables globales, je sais qu'en powershell la déclaration des variables n'est pas nécessaire.
Cependant j'aimerai déclarer mes variables globales en début de script, si j'utilise la commande suivante:
[code:1]
$global:MaVariable
[/code:1]
MaVariable à une portée globale, cependant si j'essaye de lui affecter une valeur dans le corps du script, j'ai l'impression qu'elle perd la portée globale.
[code:1]
MaVariable = 2
[/code:1]
Est que je suis obligé de préciser la portée quand j'affecte une valeur à ma variable ou est-ce que je peux le faire en avance de phase.
Merci.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 8 mois #4364
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Variable globale
Salut,
dje81 écrit:
[code:1]
$global:«»x=20
function locale {$X=10;Write-host $X}
function locale2 {$X=10;Globale}
function globale {Write-host $X}
function globale2 {$global:«»X=15;Write-host $X}
write-host $x
locale
write-host $x
globale
write-host $x
locale2
write-host $x
globale2
write-host $x
[/code:1]
Dans la function locale2 on adresse la variable X du contexte courant.
dje81 écrit:
Il est donc recommandé de préfixer le nom de la variable avec l'indication de portée. C'est le seul manière, sans compliquer les choses, d'adresser la bonne variable.Surtout cela documente ton intention dans le code.
dje81 écrit:
je dirais que cela dépend de l'usage que tu comptes en faire :Est-ce que je suis obligé de préciser la portée quand j'affecte une valeur à ma variable
[code:1]
$global:«»x=20
function locale {$X=10;Write-host $X}
function locale2 {$X=10;Globale}
function globale {Write-host $X}
function globale2 {$global:«»X=15;Write-host $X}
write-host $x
locale
write-host $x
globale
write-host $x
locale2
write-host $x
globale2
write-host $x
[/code:1]
Dans la function locale2 on adresse la variable X du contexte courant.
dje81 écrit:
Oui, mais Powerwhell doit déterminer où se situe la pile la contenant. PS nous soulage d'une déclaration car il la prend en charge.je sais qu'en powershell la déclaration des variables n'est pas nécessaire.
Il est donc recommandé de préfixer le nom de la variable avec l'indication de portée. C'est le seul manière, sans compliquer les choses, d'adresser la bonne variable.Surtout cela documente ton intention dans le code.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jerome
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 15 ans 8 mois #4365
par jerome
Réponse de jerome sur le sujet Re:Variable globale
Merci Laurent.
Donc si je comprends bien si je dois modifier ma variable globale à plusieurs endroit du script je devrais la préfixer systématiquement par sa portée.
Donc si je comprends bien si je dois modifier ma variable globale à plusieurs endroit du script je devrais la préfixer systématiquement par sa portée.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 15 ans 8 mois #4369
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Variable globale
dje81 écrit:
Sinon il y a un risque potentiel d'en lire une autre de même nom mais de portée différente (locale).
Oui, mais pas seulement pour les affectations pour les lectures aussi.Donc si je comprends bien si je dois modifier ma variable globale à plusieurs endroit du script je devrais la préfixer systématiquement par sa portée.
Sinon il y a un risque potentiel d'en lire une autre de même nom mais de portée différente (locale).
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.105 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Variable globale