import gleam/io
import gleam/list
pub fn main() {
let ints = [0, 1, 2, 3, 4, 5]
io.println("=== map ===")
io.debug(list.map(ints, fn(x) { x * 2 }))
io.println("=== filter ===")
io.debug(list.filter(ints, fn(x) { x % 2 == 0 }))
io.println("=== fold ===")
io.debug(list.fold(ints, 0, fn(count, e) { count + e }))
io.println("=== find ===")
let _ = io.debug(list.find(ints, fn(x) { x > 3 }))
io.debug(list.find(ints, fn(x) { x > 13 }))
}
=== map === [0, 2, 4, 6, 8, 10] === filter === [0, 2, 4] === fold === 15 === find === Ok(4) Error(Nil)
El módulo de la biblioteca estándar gleam/list contiene funciones para trabajar con listas. Es probable que un programa Gleam haga un uso intensivo de este módulo, ya que las distintas funciones sirven como diferentes tipos de bucles sobre listas.
- map crea una nueva lista ejecutando una función en cada elemento de la lista.
- filter crea una nueva lista que contiene solo los elementos para los que una función devuelve verdadero.
- fold combina todos los elementos de una lista en un único valor ejecutando una función de izquierda a derecha en cada elemento, pasando el resultado de la llamada anterior a la siguiente llamada.
- find devuelve el primer elemento de una lista para el que una función devuelve verdadero.
Vale la pena familiarizarse con todas las funciones de este módulo al escribir código Gleam, ¡las usará mucho!