Поделиться через


about_Do

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

Вставьте сюда введение.

РАЗДЕЛ

about_Do

КРАТКОЕ ОПИСАНИЕ

Запускает список операторов один или несколько раз в зависимости от условия While или Until.

ПОДРОБНОЕ ОПИСАНИЕ

Ключевое слово Do работает с ключевыми словами While или Until для запуска операторов в блоке сценария в зависимости от условия. В отличие от связанного цикла While блок сценария в цикле Do всегда выполняется как минимум один раз.

Цикл Do-While является разновидностью цикла While. В цикле Do-While условие вычисляется после выполнения блока сценария. Как и в цикле While, выполнение блока сценария повторяется до тех пор, пока условие не примет значение true.

Как и в цикле Do-While, цикл Do-Until всегда выполняется как минимум один раз до вычисления условия. Однако блок сценария выполняется только в том случае, если условие имеет значение false.

Ключевые слова управления потоком Continue и Break могут использоваться в цикле Do-While или Do-Until.

СИНТАКСИС

Ниже приведен синтаксис оператора Do-While:

do {<statement list>} while (<condition>)

Ниже приведен синтаксис оператора Do-Until:

do {<statement list>} until (<condition>)

Список операторов содержит один или несколько операторов, которые выполняются при каждом входе в цикл или повторе цикла.

Часть условия оператора принимает значение true или false.

ПРИМЕР

В следующем примере оператор Do подсчитывает элементы в массиве, пока не достигнет элемента со значением 0.

          C:\PS> $x = 1,2,78,0
          C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0) 
          C:\PS> $count
          3

В следующем примере используется ключевое слово Until. Обратите внимание, что оператор «не равно» (-ne) заменяется оператором «равно» (-eq).

          C:\PS> $x = 1,2,78,0
          C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0) 
          C:\PS> $count
          3

В следующем примере записываются все значения в массиве с пропуском значений меньше нуля.

          do
          {
              if ($x[$a] -lt 0) { continue }
              Write-Host $x[$a]
          } 
          while (++$a -lt 10)

СМ. ТАКЖЕ

about_While

about_Operators

about_Assignment_Operators

about_Comparison_Operators

about_Break

about_Continue