Funciones
En LibreScript, las funciones son bloques de código reutilizables diseñados para realizar tareas específicas. Permiten organizar el código de manera modular y mejorar la legibilidad.
Palabra clave: funcion
Section titled “Palabra clave: funcion”Nombre de la función: Los nombres de las funciones siguen las reglas del token IDENTIFICADOR_GRAL
(alfanumérico, empieza con letra, sin el prefijo $
). Esto proporciona coherencia con el estilo de TypeScript para nombres de funciones.
- Ejemplo:
saludar
,sumar
,esMayor
.
Parámetros: Se declaran dentro de los paréntesis ()
después del nombre de la función. Cada parámetro debe tener un nombre de variable con prefijo $
y su tipo explícito, separados por dos puntos :
. Los parámetros se separan por comas.
- Ejemplo:
($a: numero, $b: numero)
Tipo de Retorno: Es obligatorio especificar el tipo de valor que la función devuelve después de los paréntesis de los parámetros, usando dos puntos :
.
- Para funciones que no devuelven explícitamente un valor, se utiliza el tipo
vacio
.
Sintaxis General:
funcion nombreDeFuncion(parametro1: tipo1, parametro2: tipo2, ...): tipoDeRetorno {
// Cuerpo de la función
// ...
devolver valor; // Obligatorio si el tipoDeRetorno no es 'vacio' }
Ejemplos declaración de funciones:
funcion sumar($a: numero, $b: numero): numero { devolver $a + $b;}$resultado: numero = sumar(5, 3);
funcion esMayor($num1: numero, $num2: numero): booleano {
devolver $num1 > $num2;
}
// Función que no devuelve ningún valor
funcion mostrarMensaje($msg: texto): vacio {
imprimir("Mensaje:", $msg);
}
funcion procesarDatos($nombre: texto, $edad: numero, $activo: booleano): vacio { imprimir("Procesando a: " + $nombre); si ($activo && $edad >= 18) { imprimir($nombre + " es un usuario activo y mayor de edad."); } siNo { imprimir($nombre + " no cumple los criterios completos."); }}
procesarDatos("Juan", 25, verdadero);procesarDatos("Maria", 17, verdadero);procesarDatos("Pedro", 30, falso);
Llamada a Funciones
Section titled “Llamada a Funciones”Para invocar una función, se utiliza su nombre seguido de paréntesis ()
que contienen los argumentos (valores reales) correspondientes a sus parámetros, separados por comas.
-
Sintaxis de Invocación:
nombreDeFuncion(argumento1, argumento2, ...);
-
Asignación de Retorno: Si una función devuelve un valor (es decir, su tipo de retorno no es
vacio
), este valor puede ser asignado directamente a una variable. Es crucial que el tipo de la variable receptora coincida con el tipo de retorno de la función.- Sintaxis:
$variable: tipo = nombreDeFuncion(argumento1, ...);
- Sintaxis:
// Llamada a función con parámetros y retorno numérico $suma: numero = sumar(10, 5); imprimir("La suma es: " + $suma); // Salida: "La suma es: 15"
// Llamada a función con retorno booleano $mayor: booleano = esMayor(7, 3); imprimir("¿7 es mayor que 3? " + $mayor); // Salida: "¿7 es mayor que 3? verdadero"
// Llamada a función que no devuelve valor mostrarMensaje("LibreScript es genial."); // Salida: "Mensaje: LibreScript es genial."