Compilación Condicional
Compilación Condicional: Controlando la Ejecución del Código
La compilación condicional te permite controlar la inclusión o exclusión de bloques de código basados en condiciones específicas antes de que se ejecute el script.
Esto es útil para situaciones como:
- Código específico de la plataforma
- Depuración
- Configuraciones dependientes del entorno
Te permite optimizar dinámicamente tu proyecto dependiendo de las necesidades del entorno de ejecución.
¿Cómo Funciona la Compilación Condicional?
Mediante el uso de directivas de preprocesador, puedes incluir o excluir condicionalmente partes de tu código basándote en condiciones evaluadas durante el tiempo de compilación.
Directivas Disponibles para la Compilación Condicional
Directiva | Descripción |
---|---|
#define | Define un macro o flag para ser usado en condiciones. |
#ifdef | Verifica si un macro o flag ha sido definido. |
#ifndef | Verifica si un macro o flag no ha sido definido. |
#endif | Finaliza un bloque condicional. |
#elif | Se usa para una condición "else if" en una cadena de comprobaciones. |
#else | Especifica un bloque de código alternativo cuando la condición es falsa. |
Estas directivas te permiten gestionar el flujo del código basándote en flags o condiciones predefinidas, adaptando tu script según el entorno o las configuraciones de compilación.
Ejemplo de Uso: Modo Desarrollo vs. Modo Producción
Puedes definir un flag en la parte superior de tu script y luego ejecutar condicionalmente diferentes bloques de código dependiendo de si el flag está definido.
#define DEVELOPMENT
#ifdef DEVELOPMENT
// Este bloque se incluye si DEVELOPMENT está definido
console.log("Modo desarrollo habilitado.");
#else
console.log("Modo producción habilitado.");
// Código específico para producción aquí
#endif
Constantes Predefinidas
Además de definir tus propios flags con #define
, el entorno de ejecución de scripts proporciona algunas constantes predefinidas que permiten detectar automáticamente la plataforma o el entorno de ejecución durante el tiempo de compilación.
Estas constantes te ayudan a dirigir fácilmente tu código a plataformas específicas o entornos (como móvil, escritorio o el editor), sin necesidad de definir las condiciones manualmente.
Constantes Predefinidas Disponibles
Constante | Descripción |
---|---|
PLATFORM_ANDROID | Se define automáticamente si el código se ejecuta en un dispositivo Android. |
PLATFORM_IOS | Se define automáticamente si el código se ejecuta en un dispositivo iOS. |
PLATFORM_MACOS | Se define automáticamente si el código se ejecuta en un dispositivo macOS. |
PLATFORM_WINDOWS | Se define automáticamente si el código se ejecuta en un dispositivo Windows. |
PLATFORM_LINUX | Se define automáticamente si el código se ejecuta en un dispositivo Linux. |
IS_MOBILE | Se define si la plataforma es un dispositivo móvil (es decir, Android o iOS). |
EDITOR | Se define cuando el código se ejecuta dentro del Editor de XR Creator, útil para desarrollo o pruebas. |
DEBUG | Se define cuando el script se ejecuta en modo depuración, ideal para habilitar código específico de depuración, como registros y manejo de errores. |
Estas constantes predefinidas se establecen automáticamente en tiempo de ejecución y proporcionan información útil sobre el entorno en el que se está ejecutando el código. Al usar estas constantes, puedes escribir código específico para cada plataforma, asegurando que solo se incluya cuando se ejecute en el entorno adecuado.