Referencias
Palabras reservadas
Las siguientes palabras están reservadas en JARU y no pueden ser usadas como identificadores:
and | break | case | class | const |
continue | def | default | elfor | else |
end | false | for | foreach | func |
if | in | nil | not | or |
private | return | switch | then | this |
true | until | use | var | while |
xor |
Operadores
Aritméticos
| Operador | Descripción |
|---|---|
+ | Suma |
- | Resta |
* | Multiplicación |
/ | División |
% | Módulo |
++ | Incremento |
-- | Decremento |
Comparación
| Operador | Descripción |
|---|---|
== | Igual a |
!= | Diferente de |
> | Mayor que |
< | Menor que |
>= | Mayor o igual que |
<= | Menor o igual que |
Lógicos
| Operador | Descripción |
|---|---|
and | Y lógico |
or | O lógico |
not | Negación |
xor | O exclusivo |
Asignación
| Operador | Descripción |
|---|---|
= | Asignación |
+= | Suma y asigna |
-= | Resta y asigna |
*= | Multiplica y asigna |
/= | Divide y asigna |
%= | Módulo y asigna |
Tipos de datos
| Tipo | Descripción | Ejemplo |
|---|---|---|
bool | Booleano | true, false |
integer | Entero (32 bits) | 42, -10 |
float | Punto flotante (64 bits) | 3.14, -0.5 |
string | Cadena de texto | "hola", 'mundo' |
list | Lista dinámica | [1, 2, 3] |
map | Diccionario | {"a": 1} |
array | Array de tamaño fijo | {1, 2, 3} |
nil | Valor nulo | nil |
Funciones estándar
| Función | Descripción |
|---|---|
print(...) | Imprime sin salto de línea |
println(...) | Imprime con salto de línea |
input(prompt) | Lee entrada del usuario |
pause(ms) | Pausa la ejecución |
clock() | Tiempo desde inicio de VM |
chr(n) | Convierte entero a carácter |
random() | Genera número aleatorio |
randomize(seed) | Inicializa generador aleatorio |
abs(n) | Valor absoluto |
round(n) | Redondea al entero más cercano |
sqrt(n) | Raíz cuadrada |
len(obj) | Longitud de string/lista/map |
mem() | Memoria usada por la VM |
int(n) | Convierte a entero |
float(n) | Convierte a flotante |
Módulos disponibles
| Módulo | Descripción |
|---|---|
Bitmap | Carga y manipulación de imágenes BMP |
Bytes | Manipulación de bytes y datos binarios |
Display | Control de pantallas TFT y displays gráficos |
Draw | Funciones de dibujo de primitivas gráficas |
File | Manejo de archivos |
GC | Control del Garbage Collector |
GPIO | Control de pines de entrada/salida |
GridMap | Cuadrícula 2D con pathfinding para juegos |
HTTP | Cliente HTTP para peticiones REST |
I2C | Comunicación I2C con sensores y periféricos |
Input | Sistema abstracto de entrada para teclado/GPIO |
JSON | Parseo y generación de JSON |
Math | Funciones matemáticas avanzadas |
MQTT | Comunicación mediante protocolo MQTT para IoT |
Power | Gestión de energía y modos de bajo consumo |
Sprite | Sistema de sprites con animación, colisiones y física |
Time | Funciones de fecha y hora |
Timer | Temporizadores con callbacks asíncronos |
Recursos adicionales
- Sitio web oficial
- GitHub
- Contacto: info@jarulang.com