Tracks
/
Gleam
Gleam
/
Temario
/
Recursión
Re

Recursión en Gleam

21 ejercicios

Acerca de Recursión

La capacidad de algo para definirse 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 hacer bucles, así que todos los bucles se implementan 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. Un tipo personalizado recursivo tiene una o más de sus variantes que 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 ventana o pestaña nueva

Aprende Recursión

La práctica está bloqueada

Desbloquea 8 ejercicios más para practicar Recursión