2.9 KiB
2.9 KiB
Операторы
FZLang поддерживает арифметические, логические и унарные операции. Во время работы бинарные операции достают со стека два значения, и обратно кладут результат на стек. Унарные операции достают одно значение со стека, а затем кладут результат обратно на стек.
Арифметические операции
| Операция | Допустимые типы | Описание |
|---|---|---|
N + N |
все числовые | Сложение двух операндов |
N - N |
все числовые | Вычитание правого операнда из левого |
N * N |
все числовые | Переменожение двух операндов |
N / N |
все числовые | Деление левого операнда на правый |
N % N |
все числовые | Получение остатка от деления левого операнда на правый |
N ^ N |
все числовые | Возведение левого операнда в степень правого |
-N |
все числовые | Инверсия операнда |
Операции сравнения
| Операция | Допустимые типы | Описание |
|---|---|---|
N == N |
все числовые, булевы, объекты, строки | Сравнить равенство операндов |
N != N |
все числовые, булевы, объекты, строки | Сравнить неравенство операндов |
N > N |
все числовые | Проверить, что левый операнд больше правого |
N >= N |
все числовые | Проверить, что левый операнд больше или равен правому |
N < N |
все числовые | Проверить, что левый операнд меньше правого |
N <= N |
все числовые | Проверить, что левый операнд меньше или равен правому |
!N |
булевы | Инвертировать операнд |
Важно: В случае сравнения объектов (
==,!=), сравниваются адреса, а не значения!
Логические операции
| Операция | Допустимые типы | Описание |
|---|---|---|
N && N |
булевы | Логическое И двух операндов |
| `N | N` |