Перейти к содержимому
  • 0
Lomecs

Цикл

Вопрос

Как сделать так, чтобы цикл повторялся при определенных условиях?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Как сделать так, чтобы цикл повторялся при определенных условиях?

while <условие> do
    --какие-то действия
end

Пока условие верно цикл будет работать. Пример:

local i = 0
while i < 10 do
    i = i+1
end


Есть ещё такой цикл с условием:

repeat
    --Какие-то действия
until <условие>

Этот цикл запускает первую итерацию (один проход по телу цикла) после смотрит на условие, если оно не верно, то запускает новую итерацию.


Также цикл можно прервать внутри его блока при необходимости через условный блок:

local i = 0
while true do --условие true всегда верно, => цикл должен работать бесконечно,
    i = i+1   --пока его что-то не прервёт внутри блока]]

    if i < 10 then --Условный блок
       break --Действие, прерывающее цикл.
    end
end

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Есть еще каноничное goto )

Добавить немного if-ов, приправить then-ами и можно подавать.

 

А wile-ы с until-ами, так же как и for-ы, отлично сочетаются с break-ами.


Рецепты смотреть тут: http://www.lua.org/manual/5.2/manual.html#3.3.4и тут: http://www.lua.org/manual/5.2/manual.html#9

Изменено пользователем swg2you

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...