Jeśli wykonam następujące czynności w skrypcie PowerShell:
$range = 1..100
ForEach ($_ in $range) {
if ($_ % 7 -ne 0 ) { continue; }
Write-Host "$($_) is a multiple of 7"
}
Otrzymuję oczekiwany wynik:
7 is a multiple of 7
14 is a multiple of 7
21 is a multiple of 7
28 is a multiple of 7
35 is a multiple of 7
42 is a multiple of 7
49 is a multiple of 7
56 is a multiple of 7
63 is a multiple of 7
70 is a multiple of 7
77 is a multiple of 7
84 is a multiple of 7
91 is a multiple of 7
98 is a multiple of 7
Jeśli jednak używam rurociągu i ForEach-Object
, continue
wydaje się , że wyłamuje się z pętli rurociągu.
1..100 | ForEach-Object {
if ($_ % 7 -ne 0 ) { continue; }
Write-Host "$($_) is a multiple of 7"
}
Czy mogę uzyskać continue
podobne zachowanie, nadal wykonując ForEach-Object, więc nie muszę przerywać mojego potoku?
foreach
: techotopia.com/index.php/ ...