Continuamos con el tema de Gleam, un lenguaje que corre sobre la máquina virtual de Erlang (BEAM). Similar a Elixir en algunos aspectos.
Si quieres programar usando este lenguaje y además usas VsCode como editor, existe un plugin que podrás instalar:
https://marketplace.visualstudio.com/items?itemName=Gleam.gleamTe ayudará en el resaltado de estilo, formato, definición y autocompletado.
Recordemos cómo crear un proyecto en Gleam:
gleam new proyecto
Nos ubicamos en el directorio creado:
cd proyecto
Podemos usar VsCode. Abrimos una terminal y tecleamos:
code .
Esto abrirá el editor de código.
Ejemplo 1. Crear una función que mande un saludo.
La sintaxis para crear una función es la siguiente:
pub fn nombre_funcion() { // Cuerpo del procedimiento o función }
Nuestra función será esta:
pub fn saludo() { io.println("\t Hola, mundo desde Gleam") }
La invocamos desde el método main del programa principal.
proyecto.gleam
import gleam/io pub fn main() { saludo() } pub fn saludo() { io.println("\t Hola, mundo desde Gleam") }
Construimos y ejecutamos:
gleam build gleam run
Salida:
Hola, mundo desde Gleam
Ejemplo 2. Crear una función que calcula el factorial de un número.
Teniendo el siguiente pseudo código:
numero = 5 IF numero = 0 THEN result = 1 IF ELSE numero = 1 THEN result = 1 ELSE result = numero * FACTORIAL(numero - 1)
La función en Gleam quedaría de tal modo:
pub fn factorial(x: Int) -> Int { case x { 0 -> 1 1 -> 1 _ -> x * factorial(x - 1) } }
La invocamos de esta manera:
import gleam/io import gleam/int pub fn main() { io.println("\t===== Factorial en Gleam =====") io.println("El factorial de 5: ") io.debug(factorial(5)) io.println("El factorial de 7: ") io.debug(factorial(7)) }
Ejemplo 3. Crear una función anónima que sume dos número enteros.
fn suma(a: Int, b: Int) -> Int { a + b }
Y la invocamos de la siguiente forma:
import gleam/io import gleam/int pub fn main() { io.println("\t===== Sumando en Gleam =====") let add = suma(3, 4) io.println("Suma (3,4) es: ") io.debug(add) }
Este post se irá actualizando para agregar más ejemplos.
Enlaces:
https://codemonkeyjunior.blogspot.com/2024/03/conociendo-gleam-un-lenguaje-que-corre.htmlhttps://emanuelpeg.blogspot.com/search?q=gleam
No hay comentarios:
Publicar un comentario