http://laska-samp.biz/articles/pawn-book/osnovy-skripttting/zikly-while
°•°•° Проект SAMP - Romashka [0.3e] ™18+™ °•°•° :: Теория :: Pawn :: Основы скриптинга

Циклы while и do while

Цикл While и любой другой цикл, повторяет свою функцию бесконечно до тех пор, пока его условие  истинно. Если его условие будет ложно, цикл прекращает работу. Цикл выглядит следующим образом:

new a;
while(a <= 3)
{
a++;
print("Hello, World!");
}


Как это работает?
Все очень просто.

Цикл проверяет условие, если, а меньше или равно 5, он выполняет свою функцию. В вышеуказанном примере так оно и есть, так как наша переменная была создана, но не проинициализирована, то есть ей не задано значение и оно равно – 0. Инкрементируем переменную Post- инкрементом. То есть сначала возвращается старое значение, а потом только оно увеличивается на единицу и
затем идет печать текста «Hello, World!» в консоль сервера функцией print. В итоге мы в консоли сервера получим четыре раза текст «Hello, World!».

Перейдем к следующему циклу, do while. Если while сначала проверял условие, а затем выполнял свою функцию, то do while делает все с точностью да наоборот. Сначала он выполняет свою функцию, а потом проверяет условие.

Чтобы сделать из вышеуказанного цикла, цикл do while, достаточно верхнюю часть цикла вместе с условием перенести под фигурные скобки и в конце после условия после закрывающей круглой скобки поставить точку с запятой, а на то место, откуда вы вырезали while, поставить оператор do.

new a;
do
{
a++;
print("Hello, World!");
}
while(a <= 3);


Тут принцип работы аналогичен, и в результате мы получаем то же самое, что и при простом цикле while.




Опубликовано 09 December 2013