Impor dan Ekspor
Exportar símbolos
Sección titulada «Exportar símbolos»Al final de un archivo declara qué elementos estarán disponibles para otros módulos.
entero sumar_entero(entero a, entero b) { retornar a + b}
objeto Usuario { privado: texto nombre entero edad libre número var saldo = 0 publico: Usuario(texto nombre, entero edad) { ambiente.nombre = nombre ambiente.edad = edad }
texto obtener_nombre() { retornar ambiente.nombre }
entero obtener_edad() { retornar ambiente.edad }}
// Instancia de objetoUsuario instancia_usuario = nuevo Usuario("Juan", 30)
// Declaración variabletexto saludo = "Hola, Quetzal!"
exportar { // Exportar función sumar_entero, // Exportar definición de objeto Usuario, // Exportar instancia de objeto instancia_usuario, // Exportar variable saludo}Puedes exportar funciones, objetos, instancias y variables.
Importar símbolos
Sección titulada «Importar símbolos»importar { sumar_entero, Usuario, instancia_usuario, saludo como texto_saludo} desde "exportar.qz"- Las llaves listan los símbolos que deseas usar.
comopermite asignar un alias local.- La ruta puede ser relativa (
./modulos/exportar.qz) o un módulo nativo como"quetzal/matemática".
Importar todo un módulo nativo
Sección titulada «Importar todo un módulo nativo»importar { Matemática} desde "quetzal/matemática"
número resultado = Matemática.sumar(2, 3)Los módulos nativos se distribuyen con el intérprete y no requieren permisos adicionales.
Consideraciones
Sección titulada «Consideraciones»- Si intentas importar un símbolo no exportado, el intérprete mostrará un error indicando que el elemento no está disponible.
- Las rutas deben terminar en
.qzcuando se trata de archivos del sistema. - El intérprete mantiene un caché de módulos; los cambios en un archivo requieren volver a ejecutar el programa.
- Evita importaciones circulares. Organiza el código en capas o utiliza módulos intermedios para compartir dependencias comunes.