Files
FoxLang/doc/DOCUMENTATION.md
T
2026-01-15 19:10:16 +05:00

5.3 KiB

📚 Документация FoxLang v4.0

Оглавление

  1. Основы синтаксиса
  2. Переменные и Типы
  3. Математика и Логика
  4. Управляющие конструкции
  5. Функции
  6. Массивы
  7. Модули и Импорт
  8. Встроенные функции

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 имеют фиксированный размер при создании.

  1. Создание: array имя размер;
  2. Запись: set(имя, индекс, значение);
  3. Чтение: get(имя, индекс)
  4. Размер: 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");.

Особенности:

  • Важная информация: При подключении внешних модулей в связи с оссобенностями c++, если в скрипте есть вызов функции в корне скрипта то она тоже будет выполнена при импорте. Это может привести к неожиданным результатам и ошибкам.

Пример: lib.fox:

void hello() { print("Hi!"); }
hello(); // Это выполнтся при импорте

main.fox:

include("lib.fox");
hello(); // Мы так же можем вызывать функции из модулей.

8. Встроенные функции

Функция Описание
print(expr) Выводит текст или результат выражения в консоль.
input() Останавливает программу и ждет ввода строки от пользователя.
round(expr) Округляет дробное число до ближайшего целого.
random() Генерирует случайное число от 0 до 99.
fox() Пасхалка: выводит ASCII-арт лисы.