Tracks
/
Gleam
Gleam
/
Temario
/
Recursión
Re

Recursión en Gleam

21 ejercicios

Acerca de Recursión

La capacidad de definir algo en términos de sí mismo se llama recursión. En Gleam, la recursión se encuentra con mayor frecuencia en las funciones recursivas, que son funciones que se llaman a sí mismas.

Una función recursiva necesita tener al menos un caso base y al menos un caso recursivo. Un caso base devuelve un valor sin volver a llamar a la función. Un caso recursivo vuelve a llamar a la función, modificando la entrada para que en algún momento coincida con el caso base.

pub fn factorial(x: Int) -> Int {
  case x {
    // Base case
    1 -> 1

    // Recursive case
    _ -> x * factorial(x - 1)
  }
}

Gleam no tiene una sintaxis especial para los bucles, así que todos los bucles se hacen con recursión.

pub fn list_length(list: List(String)) -> Int {
  case list {
    [] -> 0
    [_, ..rest] -> 1 + list_length(rest)
  }
}

Gleam también admite tipos personalizados recursivos. En un tipo personalizado recursivo, una o más de sus variantes se refieren a sí mismas en los datos que contienen.

pub type RussianDoll {
  Child               // Base case
  Mother(RussianDoll) // Recursive case
}
let very_big_doll = Mother(Mother(Mother(Child)))
let small_doll = Mother(Child)
Editar en GitHub El enlace se abre en una nueva ventana o pestaña

Aprende Recursión

La práctica está bloqueada

Desbloquea 8 ejercicios más para practicar Recursión