PureBasic

For:Next


Синтаксис
For <variable> = <expression1> To <expression2> [Step <constant>]
  ...
Next [<variable>]

Описание


Оператор For: Next используется для создания в программе цикла с заданными параметрами. На каждой итерации цикла значение переменной <variable> увеличивается на 1 (или "значение Шага" указанное в <constant>, если используется ключевое слово Step), и когда значение <variable> станет больше значения <expression2>, цикл прекращается.

Команда Break, даёт возможность выйти из цикла For: Next в любой момент, а команда Continue позволяет пропустить остаток текущей итерации.

Цикл For: Next для выражений и константы для Step может использовать только целочисленные значения. Константа для Step также может быть отрицательной.

Примечание: Учтите, что в цикле For: Next значение выражения <expression2> и значение переменной <variable>, можно изменить внутри цикла For: Next, что при неправильном использовании может привести к бесконечным повторам.
Также это означает, что вычисление выражения <expression2> происходит в каждой итерации, поэтому старайтесь не включать множество медленных команд в это выражение, так как это скажется на производительности. Например, For k = 0 To a+b/c/d будет работать очень медленно.

Пример

For k = 0 To 10
    Debug k
Next

В этом примере программа повторит цикл 11 раз (от 0 до 10), затем выйдет.

Пример

For k = 10 To 1 Step -1
    Debug k
Next

В этом примере программа повторит цикл 10 раз (от 10 обратно до 1), затем выйдет.

Пример

a = 2
b = 3
For k = a+2 To b+7 Step 2
    Debug k
Next k

Здесь программа повторит цикл 4 раза прежде чем выйти, (k увеличивается на 2 на каждой итерации, так что значение k будет: 4-6-8-10). Идентификатор "k" после "Next" показывает, что "Next" заканчивает цикл "For k". Если использовать другой идентификатор, компилятор сообщит об ошибке. Это может быть полезно для организации нескольких вложенных циклов "For/Next".

Пример

For x=0 To 10
    For y=0 To 5
        Debug "x: " + x + " y: " + y
    Next y
Next x


Пример: Бесконечный цикл из-за непродуманных действий с переменной 'x'.

For x=1 To 10 
  x=x-1
  Debug "x: " + x 
Next x

��Ԣ��