Question
Coloration d'une chaîne dans 1 autre, pk ça marche
- Fred
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 5
- Remerciements reçus 0
J'ai trouvé de bout de script sur le net :
[code:1]$texte=\"moi je vois pas pourquoi ça fonctionne... D'après toi ?\"
$word=\"oi\"
$later = $false
$texte -split [regex]::Escape( $word ) | foreach {
if ( $later ) { Write-Host \"$word\" -NoNewline -ForegroundColor green }
else { $later = $true }
Write-Host $_ -NoNewline
}[/code:1]
Il fonctionne parfaitement, mais je ne comprends pas pourquoi !
Je crois comprendre que la chaîne $texte est découpée aux endroits où la chaîne $word se trouve, mais je comprends pas l'utilité du $later, ni à quel moment il intervient, ni s'il change de valeur...
Quelqu'un peut-il m'expliquer comment ?
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
Il y a une option pas à pas dans le deboguer de PowerShell ISE
fais un test avec et dis nous après ce que t'a compris !<br><br>Message édité par: 6ratgus, à: 28/04/15 12:44
Connexion ou Créer un compte pour participer à la conversation.
- Fred
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 5
- Remerciements reçus 0
Je me sens bête : les 3 options \"pas à pas\" sont griséesIl y a une option pas à pas dans le deboguer de PowerShell ISE
Vous savez pourquoi, et comment les rendre accessibles ?<br><br>Message édité par: FredPS, à: 28/04/15 13:41
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
ça me la fait aussi au début !!!Je me sens bête : les 3 options \"pas à pas\" sont grisées
pour pouvoir faire du débogage, tu doit sauvegardé ton script avant !
petit conseil d'utilisation :
après tu met un premier point d'arrêt ( touche F9) puis exécute le script (F5)
le débogueur s'arrête sur ton point d'arrêt, et là GRAND conseil fait un pas à pas détailler (F11) pour pourvoir entrée dans la boucle foreach
sinon avec F10 il passe toute la boucle sans s'arrêté !!!
PS : il y a encore du travail avant que microsoft harmonise ce déboguer avec les autres de l'éditeur<br><br>Message édité par: 6ratgus, à: 28/04/15 14:23
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
- Messages : 6311
- Remerciements reçus 68
[code:1]
$texte=\"moi je vois pas pourquoi ça fonctionne... D'après toi ?\"
$word=\"oi\"
$later = $false
$texte -split [regex]::Escape( $word ) | foreach {
write-warning \"Before later=$later\"
if ( $later ) { Write-Host \"$word\" -NoNewline -ForegroundColor green }
else { $later = $true }
Write-Host $_ -NoNewline -back cyan
write-warning \"after later=$later\"
}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Fred
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 5
- Remerciements reçus 0
Merci, en effet, il faut déjà mettre un point d'arrêt, on peut pas faire de pas à pas sans aucun point d'arrêt (pas grave, mais curieux).pour pouvoir faire du débogage, tu doit sauvegardé ton script avant !
petit conseil d'utilisation :
après tu met un premier point d'arrêt ( touche F9) puis exécute le script (F5)
le débogueur s'arrête sur ton point d'arrêt, et là GRAND conseil fait un pas à pas détailler (F11) pour pourvoir entrée dans la boucle foreach
sinon avec F10 il passe toute la boucle sans s'arrêté !!!
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Coloration d'une chaîne dans 1 autre, pk ça marche