Partilhar via


Sobre Fazer

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)

VER TAMBÉM

about_While

about_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Break

about_Continue