Se faccio il seguente in uno script PowerShell:Perché continuare a comportarsi come una rottura in un oggetto Foreach?
$range = 1..100
ForEach ($_ in $range){
if ($_ % 7 -ne 0) { continue; }
Write-Host "$($_) is a multiple of 7"
}
ottengo l'output previsto di:
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
Tuttavia, se uso un oleodotto e ForEach-Object
, continuo sembra uscire dalla loop della pipeline.
1..100 | ForEach-Object {
if ($_ % 7 -ne 0) { continue; }
Write-Host "$($_) is a multiple of 7"
}
Le mie domande è, posso avere un comportamento continuare così, mentre ancora facendo ForEach-Object, quindi non c'è bisogno di rottura la mia condotta?
Ecco una pagina con un sacco di comandi da utilizzare con 'foreach': http://www.techotopia.com/index.php/Windows_PowerShell_1.0_Looping_with_the_for_and_foreach_Statements#Continuing_for_Loops – bgmCoder
trovato una spiegazione decente e campione qui ... http: //powershell.com/cs/blogs/tips/archive/2015/04/27/understanding-break-continue-return-and-exit.aspx –