Mapa del lenguaje Lucia
Objetivo de aprendizaje
- Entender el mapa completo de funcionalidades de Lucia y como conectarlas.
Sintaxis clave
let x: int = 10;
const title: string = "Lucia";
if (x > 0) { print(title); }
Ejemplos
- Flujo de control:
if, else if, else, switch/case/default, while, for, do/while, for...in.
- Declaraciones:
let, const.
- Tipos:
int, float, bool, string, date, datetime, void, any.
- Colecciones:
list<T>, dict<K, V>, literales e indexacion.
- POO:
class, extends, constructor, propiedades, metodos, this.
- Modulos:
import "./module.lucia";.
- Expresiones: operadores, ternario y null coalescing
??.
- Strings: interpolacion con
${expr}.
Caracteristicas que se suelen omitir
- En metodos de clase puedes llamar metodos hermanos con o sin
this:
func toString(): string {
return obtenerNombreValor() + " " + obtenerNombrePalo();
}
- El acceso a campos tambien puede ser implicito cuando no hay sombreado local.
- Las colecciones vacias adoptan tipo por contexto:
let jugadores: list<Jugador> = [];
jugadores = [];
let puntajes: dict<string, int> = {};
puntajes = {};
- Es valida la asignacion por indice:
this.mazo[i] = this.mazo[j];
this.mazo[j] = temp;
- Para tamano usa
len(x), no x.length().
Errores comunes
- Intentar mezclar demasiados conceptos sin dominar tipos y declaraciones.
- Ignorar diagnosticos mientras se aprende sintaxis nueva.
Ruta sugerida
- Inicia con
examples/00_features.lucia para base del lenguaje.
- Continua con
examples/10_inheritance_const.lucia para herencia y campos const.
- Luego arma un mini proyecto de 2 archivos con import, clase modelo y flujo de ejecucion.
Practica sugerida
- Construye una mini app con imports, clases, listas, condicionales e interpolacion.
Relacionados
- syntax-control-flow
- types-and-collections
- oop-and-modules