Módulos: importar

Forja permite organizar tu código en múltiples archivos usando el sistema de módulos con la palabra clave importar.

💡 Idea: Dividí tu programa en archivos separados y conectalos con importar. Cada archivo es un módulo.

Importar módulos externos (FFI)

Usá importar externa para cargar bibliotecas del sistema (.dll/.so):

🔌 FFI
importar externa "libreria.dll"

Esto permite acceder a funciones definidas en C, Rust u otros lenguajes, que se declaran con funcion externa.

Sintaxis

📐 Importar un módulo
importar ruta/del/modulo

La ruta es relativa al directorio del proyecto, sin la extensión .fa ni comillas. Para rutas absolutas del sistema de archivos se usan comillas: importar "/ruta/absoluta".

Ejemplo

Proyecto con dos archivos:

📄 main.fa
importar modulos/matematica

escribir(sumar(5, 3))
escribir(restar(10, 4))
📄 modulos/matematica.fa
funcion sumar(a, b) {
    retornar a + b
}

funcion restar(a, b) {
    retornar a - b
}

Resolución de rutas

RutaArchivo buscado
modulos/matematica./modulos/matematica.fa
util/colores./util/colores.fa
principal./principal.fa
⚠️ Seguridad: Las rutas con .. (path traversal) son rechazadas por el resolvedor de módulos. Esto evita accesos no autorizados a archivos fuera del proyecto.

Importar en el CLI

Los proyectos con módulos se ejecutan desde el directorio raíz:

⚡ Ejecutar
forja run main.fa