Funciones
Las funciones en Forja se definen con funcion y pueden retornar valores con retornar. Son el bloque fundamental para organizar tu código.
Sintaxis básica
📄 Plantilla de función
funcion nombre(param1, param2, ...) {
// cuerpo de la función
retornar valor // opcional
} Ejemplo: suma
Función que recibe dos argumentos y retorna su suma:
➕ Función con retorno
funcion suma(a, b) {
retornar a + b
}
variable resultado = suma(3, 4)
escribir(resultado) // → 7 Función sin retorno
Las funciones que solo ejecutan acciones no necesitan retornar:
📢 Procedimiento
funcion saludo(nombre) {
escribir("Hola, " + nombre + "!")
}
saludo("Mundo") // → Hola, Mundo!
saludo("Forja") // → Hola, Forja! Con tipo de retorno
Podés especificar el tipo de retorno con -> Tipo:
🎯 Tipado explícito
funcion suma(a: Entero, b: Entero) -> Entero {
retornar a + b
} 💡 El tipo de retorno se indica con
-> Tipo (igual que en Rust). Si no se especifica, se infiere.Parámetros por referencia
Usá prestado para indicar que un parámetro se pasa como referencia (&T en Rust). Esto permite que la variable original siga disponible después de la llamada:
🔗 Préstamo (borrowing)
funcion mostrar(prestado valor) {
escribir("El valor es: " + valor)
}
variable dato = 42
mostrar(dato) // prestado, no se mueve
escribir(dato) // ✅ dato sigue disponible Equivalencia con Rust
| Forja | Rust |
|---|---|
funcion f(a, b) { ... } | fn f(a: String, b: String) { ... } |
funcion f(a) -> Entero | fn f(a: String) -> i64 |
funcion f(prestado a) | fn f(a: &str) |
retornar expr | return expr; |