# Управление потоком FZLang поддерживает условные конструкции и отдельные блоки кода. Условия записываются в круглых скобках, тело может быть одной инструкцией или блоком в фигурных скобках. ## Условие if ``` if (2 + 2 >= 4) printline("two plus two is four"); else { printline("unexpected result"); exit(1); } ``` Ветка `else if` является обычным `else`, за которым следует новый `if`. Условие вычисляется, после чего ВМ переходит в одну из веток; обычно это булево значение или результат сравнения. ## Блоки Фигурные скобки создают отдельное окружение: ``` { int local = 10; printline(local); } ``` После выхода из блока его окружение уничтожается. Локальные имена не должны использоваться за пределами блока. ## Ограничения В текущей реализации нет циклов while или for. Повторяющееся вычисление выражается рекурсивными функциями. --- Далее: [Функции и рекурсия](./04_functions-and-recursion.md) Назад: [Основы и типы](./02_basics-and-types.md)