Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
BREVE DESCRIÇÃO
Executa uma lista de declaração uma ou mais vezes, sujeito a uma condição de "Tempo ou Até".
LONGA DESCRIÇÃO
A palavra-chave Fazer funciona com a palavra-chave While ou a palavra-chave Até para executar as declarações num bloco de scripts, sujeito a uma condição. Ao contrário do ciclo de enquanto relacionado, o bloco de scripts num loop Do sempre funciona pelo menos uma vez.
Um loop Do-While é uma variedade do loop While. Num loop Do-While, a condição é avaliada após o bloqueio do script ter sido executado. Como num loop While, o bloco de scripts é repetido desde que a condição avalie a verdade.
Como um loop Do-While, um loop Do-Until sempre funciona pelo menos uma vez antes da circunstância ser avaliada. No entanto, o bloco de scripts funciona apenas enquanto a condição é falsa.
As palavras-chave do controlo do fluxo de continuar e quebrar podem ser utilizadas num loop Do-While ou num loop Do-Until.
Syntax
O seguinte mostra a sintaxe da declaração do-while:
do {<statement list>} while (<condition>)
O seguinte mostra a sintaxe da declaração Do-Until:
do {<statement list>} until (<condition>)
A lista de declaração contém uma ou mais declarações que são executadas cada vez que o loop é introduzido ou repetido.
A parte da condição da declaração resolve-se a verdade ou falsa.
Exemplo
O exemplo seguinte de uma declaração do Fazer conta os itens numa matriz até chegar a um item com um valor de 0.
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0)
C:\PS> $count
3
O exemplo a seguir utiliza a palavra-chave Até. Note-se que o não igual ao operador -ne () é substituído pelo igual ao operador -eq ().
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0)
C:\PS> $count
3
O exemplo a seguir escreve todos os valores de uma matriz, ignorando qualquer valor que seja inferior a zero.
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)