Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?
Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?
Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?
Re: Pourquoi 'continue' se comporte-t-il comme 'break' dans un Foreach-Object ?
Utilisez simplement `return` au lieu de `continue`. Ce `return` retourne du bloc de script invoqué par `ForEach-Object` à chaque itération particulière, simulant ainsi le comportement de `continue` dans une boucle.
```
1..100 | ForEach-Object {
if ($_ % 7 -ne 0 ) { return }
Write-Host "$($_) is a multiple of 7"
}
```
Il y a un piège à garder à l'esprit lors du refactoring. Parfois, on souhaite convertir un bloc d'instruction `foreach` en un pipeline avec le cmdlet `ForEach-Object` (il dispose même de l'alias `foreach` qui facilite cette conversion
```
1..100 | ForEach-Object {
if ($_ % 7 -ne 0 ) { return }
Write-Host "$($_) is a multiple of 7"
}
```
Il y a un piège à garder à l'esprit lors du refactoring. Parfois, on souhaite convertir un bloc d'instruction `foreach` en un pipeline avec le cmdlet `ForEach-Object` (il dispose même de l'alias `foreach` qui facilite cette conversion