TÓPICO
about_Do
DESCRIÇÃO RESUMIDA
Executa uma lista de instruções uma ou mais vezes, de acordo com uma
condição While ou Until.
DESCRIÇÃO LONGA
A palavra-chave Do funciona com as palavras-chave While ou Until para
executar as instruções em um bloco de scripts, de acordo com uma
condição. Ao contrário do loop While relacionado, o bloco de scripts
em um loop Do sempre é executado pelo menos uma vez.
Um loop Do-While é uma variedade do loop While. Em um loop Do-While, a
condição é avaliada após a execução do bloco de scripts. Como ocorre
em um loop While, o bloco de scripts é repetido enquanto a condição é
avaliada como verdadeira.
Como ocorre com um loop Do-While, um loop Do-Until sempre é
executado pelo menos uma vez antes de a condição ser avaliada.
Porém, o bloco de scripts é executado apenas enquanto a condição
é falsa.
As palavras-chave de controle de fluxo Continue e Break podem ser
usadas em um loop Do-While ou em um loop Do-Until.
Sintaxe
A seguir, é apresentada a sintaxe da instrução Do-While:
do {<lista de instruções>} while (<condição>)
A seguir, é apresentada a sintaxe da instrução Do-Until:
do {<lista de instruções>} until (<condição>)
A lista de instruções contém uma ou mais instruções que são
executadas sempre que se entra no loop ou que ele é repetido.
A parte condicional da instrução é resolvida como verdadeira ou
falsa.
Exemplo
O seguinte exemplo de uma instrução Do conta os itens em uma
matriz até alcançar um item com valor igual a 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 usa a palavra-chave Until. Observe que o operador
diferente de (-ne) é substituído pelo operador igual a (-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 os que são menores que zero.
do
{
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)
CONSULTE TAMBÉM
about_While
about_Operators
about_Assignment_Operators
about_Comparison_Operators
about_Break
about_Continue