Ge

Genéricos em Gleam

10 exercícios

Sobre Genéricos

Um tipo é um tipo genérico quando pode conter valores de qualquer tipo através de um parâmetro de tipo.

Por exemplo, este tipo Box tem o parâmetro de tipo a (escrito com letras minúsculas).

pub type Box(a) {
  Box(a)
}

O parâmetro de tipo a é um marcador de posição para qualquer tipo, por isso Box pode ser usado com strings, inteiros ou qualquer outro tipo.

Box("Hello, Joe!") // The type is Box(String)

Box(42) // The type is Box(Int)

Um tipo pode ter vários parâmetros de tipo, separando-os com vírgulas.

pub type Pair(a, b) {
  Pair(a, b)
}

Funções genéricas

Os parâmetros de tipo também podem ser usados nos argumentos de funções.

Esta função recebe um valor do tipo a e chama duas vezes uma função que recebe um a e devolve um b.

pub fn twice(value: a, f: fn(a) -> b) -> b {
  f(value)
  f(value)
}
// The type is fn(String, fn(String) -> Nil) -> Nil
twice("Hello, Joe!", io.println)
Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Genéricos

A prática está bloqueada

Desbloqueia mais 3 exercícios para praticares Genéricos