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
+4 -5
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(); // Мы так же можем вызывать функции из модулей.
```
---
+3 -3
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]
**Author:** [SkrinVex](https://skrinvex.su)
**License:** MIT
+4 -5
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(); // Мы так же можем вызывать функции из модулей.
```
---