doc: add book,internal,reference,builtins sections
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# Управление потоком
|
||||
|
||||
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)
|
||||
Reference in New Issue
Block a user