Question Coloration d'une chaîne dans 1 autre, pk ça marche

Plus d'informations
il y a 10 ans 10 mois #19583 par Fred
Bonjour,

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.

Plus d'informations
il y a 10 ans 10 mois #19587 par Philippe
Bonjour FredPS

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.

Plus d'informations
il y a 10 ans 10 mois #19588 par Fred
6ratgus écrit:

Il y a une option pas à pas dans le deboguer de PowerShell ISE

Je me sens bête : les 3 options \&quot;pas à pas\&quot; sont grisées :blush:

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.

Plus d'informations
il y a 10 ans 10 mois #19590 par Philippe

Je me sens bête : les 3 options \&quot;pas à pas\&quot; sont grisées

ça me la fait aussi au début !!!

pour pouvoir faire du débogage, tu doit sauvegardé ton script avant ! :blink:

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.

Plus d'informations
il y a 10 ans 10 mois #19592 par Laurent Dardenne
Une autre approche colorée :
[code:1]
$texte=\&quot;moi je vois pas pourquoi ça fonctionne... D'après toi ?\&quot;
$word=\&quot;oi\&quot;
$later = $false
$texte -split [regex]::Escape( $word ) | foreach {
write-warning \&quot;Before later=$later\&quot;
if ( $later ) { Write-Host \&quot;$word\&quot; -NoNewline -ForegroundColor green }
else { $later = $true }
Write-Host $_ -NoNewline -back cyan
write-warning \&quot;after later=$later\&quot;
}
[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 10 mois #19599 par Fred
6ratgus écrit:

pour pouvoir faire du débogage, tu doit sauvegardé ton script avant ! :blink:

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é !!!

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).

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

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