Variables y constantes
Forja distingue entre variables (mutables, se pueden reasignar) y constantes (inmutables, no se pueden modificar). Esto refleja el sistema de mutabilidad de Rust pero con palabras en español.
🔥 Regla de oro:
variable = let mut en Rust. constante = let en Rust.variable — Mutable
Las variables se pueden reasignar cuantas veces quieras:
📝 Reasignación permitida
variable nombre = "Gaucho"
variable edad = 30
// ✅ Reasignación permitida
edad = 31
nombre = "Otro nombre" constante — Inmutable
Las constantes no pueden modificarse después de su declaración:
📝 No se puede reasignar
constante altura = 1.85
constante pais = "Argentina"
// ❌ Error: No se puede modificar una constante
// altura = 2.0 → ErrorDePropiedad Con tipo explícito
Podés declarar el tipo después del nombre con : Tipo:
📝 Tipado explícito
variable nombre: Texto = "Gaucho"
variable edad: Entero = 30
variable altura: Decimal = 1.85
constante activo: Booleano = verdadero Sin valor inicial
Podés declarar una variable sin asignarle valor, aunque necesitás especificar el tipo:
📝 Declaración sin inicialización
variable mensaje: Texto = ""
variable contador = 0 Inferencia de tipos
Si no se especifica el tipo, Forja lo infiere automáticamente del valor asignado:
🤖 Inferencia automática
variable ciudad = "Buenos Aires" // inferido → Texto
variable edad = 25 // inferido → Entero Equivalencia con Rust
Esta tabla te muestra cómo se traduce cada declaración de Forja a Rust:
| Forja | Rust generado |
|---|---|
variable x = 5 | let mut x = 5; |
constante x = 5 | let x = 5; |
variable x: Entero = 5 | let mut x: i64 = 5; |
constante x: Texto = "a" | let x: String = String::from("a"); |
⚠️ Diferencia clave con Rust: En Rust las variables son inmutables por defecto. Forja invierte esto:
variable es mutable, constante es inmutable. Esto es más intuitivo para quienes están aprendiendo.