Translate

domingo, 21 de abril de 2024

Más sobre funciones anónimas en Gleam



import gleam/io


pub fn main() {

  // These two statements are equivalent

  let add_one_v1 = fn(x) { add(1, x) }

  let add_one_v2 = add(1, _)


  io.debug(add_one_v1(10))

  io.debug(add_one_v2(10))

}


fn add(a: Int, b: Int) -> Int {

  a + b

}


Gleam tiene una sintaxis abreviada para crear funciones anónimas que toman un argumento e inmediatamente llaman a otra función con ese argumento: la sintaxis de captura de función.

La función anónima fn(a) { some_function(..., a, ...) } se puede escribir como some_function(..., _, ...), con cualquier número de otros argumentos pasados directamente a la función interna . El guión bajo _ es un marcador de posición para el argumento, equivalente a a en fn(a) { some_function(..., a, ...) }.