Переменная счетчика не увеличивается внутри цикла do while - PullRequest
0 голосов
/ 08 мая 2019

Я изучаю PowerShell в школе и пытаюсь понять, почему это не работает:

$y = 1
do {
    $count = 1
    echo $count
    Start-Sleep 1
    $count++
}
while ($y -eq 1)

echo "Finished"

Вывод этого сценария: 1 1 1 1 1 ...

В чем здесь проблема?Я ожидаю, что счет увеличится.

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Исправление очень простое.Внутри цикла while вы сбрасываете $ count = 1 в каждом цикле.В результате вам нужно объявить $ count вне цикла while, а затем позволить ему увеличиваться внутри цикла.

$y = 1;
$count = 1;
do {
    echo $count;
    $count++;
}
while (condition)
echo "Finished";
0 голосов
/ 08 мая 2019

Несколько указателей, вы сбрасываете счетчик в каждом цикле. Вам нужно создать это вне цикла, как вы это сделали с переменной $ y. Кроме того, старайтесь не использовать двойные кавычки, когда достаточно одинарных кавычек:)

$y = 1
$count = 1
do{
    echo $count
    Start-Sleep -s 1
    $count++
}while ($y -eq 1)
echo 'Finished'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...