5.5 KiB
📚 Документация FoxLang v4.0
Оглавление
- Основы синтаксиса
- Переменные и Типы
- Математика и Логика
- Управляющие конструкции
- Функции
- Массивы
- Модули и Импорт
- Встроенные функции
1. Основы синтаксиса
FoxLang использует синтаксис, похожий на C++ и Java.
- Каждая команда обязана заканчиваться точкой с запятой
;. - Блоки кода выделяются фигурными скобками
{ ... }. - Комментарии начинаются с
//и идут до конца строки.
// Это комментарий
print("Hello"); // Команда
2. Переменные и Типы
Язык поддерживает два основных типа данных:
int— Целые числа (внутри хранятся как double).string— Текст в двойных кавычках.
Объявление:
int health = 100;
string name = "Player1";
Присваивание:
health = 90;
name = "Player2";
Важно: Нельзя объявить переменную с именем, которое уже существует в текущей области видимости.
3. Математика и Логика
Поддерживаются стандартные арифметические операции с учетом приоритета (умножение/деление выполняются раньше сложения/вычитания).
Операторы
| Оператор | Описание | Пример |
|---|---|---|
+ |
Сложение / Конкатенация строк | 5 + 5 или "A" + "B" |
- |
Вычитание | 10 - 2 |
* |
Умножение | 2 * 2 |
/ |
Деление | 10 / 2 |
% |
Остаток от деления | 10 % 3 (вернет 1) |
Сравнение
Операторы сравнения возвращают 1 (истина) или 0 (ложь). Работают и с числами, и со строками.
==(Равно)!=(Не равно)<(Меньше)>(Больше)
4. Управляющие конструкции
Условия (If / Else)
int x = 10;
if (x == 10) {
print("X is ten");
} else {
print("X is not ten");
}
Циклы (While)
Выполняет блок кода, пока условие истинно.
int i = 0;
while (i < 5) {
print("Loop iteration: " + i);
i = i + 1;
}
5. Функции
Функции объявляются ключевым словом void. Они имеют доступ к глобальным переменным (общая память).
Определение:
void myFunc() {
print("Hello from function!");
}
Вызов:
myFunc();
6. Массивы
Массивы в FoxLang имеют фиксированный размер при создании.
- Создание:
array имя размер; - Запись:
set(имя, индекс, значение); - Чтение:
get(имя, индекс) - Размер:
size(имя)
array chest 3; // Массив на 3 элемента [0, 0, 0]
set(chest, 0, 55); // Записать 55 в индекс 0
print(get(chest, 0)); // Выведет 55
7. Модули и Импорт
FoxLang v4.0 поддерживает умный импорт.
Используйте include("путь/к/файлу.fox");.
Особенности:
- Поддерживаются относительные пути (например,
../lib/utils.fox). - Режим Импорта: При подключении файла интерпретатор выполняет только объявления переменных и функций. Команды вызова функций или
printвнутри подключаемого файла игнорируются. Это позволяет безопасно подключать библиотеки, содержащие тестовый код.
Пример:
lib.fox:
void hello() { print("Hi!"); }
hello(); // ЭТО НЕ ВЫПОЛНИТСЯ ПРИ ИМПОРТЕ
main.fox:
include("lib.fox");
hello(); // А вот теперь мы вызываем функцию сами
8. Встроенные функции
| Функция | Описание |
|---|---|
print(expr) |
Выводит текст или результат выражения в консоль. |
input() |
Останавливает программу и ждет ввода строки от пользователя. |
round(expr) |
Округляет дробное число до ближайшего целого. |
random() |
Генерирует случайное число от 0 до 99. |
fox() |
Пасхалка: выводит ASCII-арт лисы. |