Update doc and readme

This commit is contained in:
SkrinVex
2026-01-15 19:10:16 +05:00
parent c6c1073656
commit 024444abdb
4 changed files with 16 additions and 18 deletions
+5 -6
View File
@@ -141,27 +141,26 @@ print(get(chest, 0)); // Выведет 55
## 7. Модули и Импорт
FoxLang v4.0 поддерживает умный импорт.
FoxLang v4.0 поддерживает импорт внешних модулей.
Используйте `include("путь/к/файлу.fox");`.
**Особенности:**
* Поддерживаются **относительные пути** (например, `../lib/utils.fox`).
* **Режим Импорта:** При подключении файла интерпретатор выполняет **только** объявления переменных и функций. Команды вызова функций или `print` внутри подключаемого файла **игнорируются**. Это позволяет безопасно подключать библиотеки, содержащие тестовый код.
* **Важная информация:** При подключении внешних модулей в связи с оссобенностями c++, если в скрипте есть вызов функции в корне скрипта то она тоже будет выполнена при импорте. Это может привести к неожиданным результатам и ошибкам.
**Пример:**
`lib.fox`:
```cpp
void hello() { print("Hi!"); }
hello(); // ЭТО НЕ ВЫПОЛНИТСЯ ПРИ ИМПОРТЕ
hello(); // Это выполнтся при импорте
```
`main.fox`:
```cpp
include("lib.fox");
hello(); // А вот теперь мы вызываем функцию сами
hello(); // Мы так же можем вызывать функции из модулей.
```
---
@@ -174,4 +173,4 @@ hello(); // А вот теперь мы вызываем функцию сами
| `input()` | Останавливает программу и ждет ввода строки от пользователя. |
| `round(expr)` | Округляет дробное число до ближайшего целого. |
| `random()` | Генерирует случайное число от 0 до 99. |
| `fox()` | Пасхалка: выводит ASCII-арт лисы. |
| `fox()` | Пасхалка: выводит ASCII-арт лисы. |
+4 -4
View File
@@ -3,7 +3,7 @@
![Version](https://img.shields.io/badge/version-4.0.0-orange) ![Language](https://img.shields.io/badge/language-C++17-blue) ![License](https://img.shields.io/badge/license-MIT-green)
**FoxLang** — это интерпретируемый язык программирования общего назначения, разработанный с нуля на C++.
Он сочетает строгий синтаксис (в стиле C++/Java) с динамической гибкостью скриптовых языков. Проект демонстрирует реализацию собственного лексера, рекурсивного парсера, AST-дерева и модульной архитектуры.
Он сочетает строгий синтаксис (в стиле C++) с динамической гибкостью скриптовых языков. Проект демонстрирует реализацию собственного лексера, рекурсивного парсера, AST-дерева и модульной архитектуры.
## ✨ Ключевые возможности
@@ -47,7 +47,7 @@ fox();
## 💻 Пример кода
```cpp
// Подключаем библиотеку (код внутри не выполняется, только функции запоминаются)
// Подключаем библиотеку
include("math_lib.fox");
int x = 10;
@@ -72,5 +72,5 @@ print("Array elem: " + get(nums, 0));
---
**Author:** [SkrinVex]
**License:** MIT
**Author:** [SkrinVex](https://skrinvex.su)
**License:** MIT
+5 -6
View File
@@ -141,27 +141,26 @@ print(get(chest, 0)); // Выведет 55
## 7. Модули и Импорт
FoxLang v4.0 поддерживает умный импорт.
FoxLang v4.0 поддерживает импорт внешних модулей.
Используйте `include("путь/к/файлу.fox");`.
**Особенности:**
* Поддерживаются **относительные пути** (например, `../lib/utils.fox`).
* **Режим Импорта:** При подключении файла интерпретатор выполняет **только** объявления переменных и функций. Команды вызова функций или `print` внутри подключаемого файла **игнорируются**. Это позволяет безопасно подключать библиотеки, содержащие тестовый код.
* **Важная информация:** При подключении внешних модулей в связи с оссобенностями c++, если в скрипте есть вызов функции в корне скрипта то она тоже будет выполнена при импорте. Это может привести к неожиданным результатам и ошибкам.
**Пример:**
`lib.fox`:
```cpp
void hello() { print("Hi!"); }
hello(); // ЭТО НЕ ВЫПОЛНИТСЯ ПРИ ИМПОРТЕ
hello(); // Это выполнтся при импорте
```
`main.fox`:
```cpp
include("lib.fox");
hello(); // А вот теперь мы вызываем функцию сами
hello(); // Мы так же можем вызывать функции из модулей.
```
---
@@ -174,4 +173,4 @@ hello(); // А вот теперь мы вызываем функцию сами
| `input()` | Останавливает программу и ждет ввода строки от пользователя. |
| `round(expr)` | Округляет дробное число до ближайшего целого. |
| `random()` | Генерирует случайное число от 0 до 99. |
| `fox()` | Пасхалка: выводит ASCII-арт лисы. |
| `fox()` | Пасхалка: выводит ASCII-арт лисы. |
+2 -2
View File
@@ -8,7 +8,7 @@
void Hello() {
print("Привет, " + Player + "!");
print("Тебе предстоит пройти это подземелье");
print("Тебе предстоит пройти это подземелье");
}
Hello();
@@ -27,4 +27,4 @@
} else {
print("Не найдено действие для этого ввода.");
}
}
}