Free Palestine and Lebanon 🍉 Stop the Genocide
Haskell Logo

Programação Funcional

Questão 15: heads

Voltar

Defina a função heads :: [[a]] -> [a] que recebe uma lista de listas e produz a lista com o primeiro elemento de cada lista.

Exemplo

> heads [[2,3,4],[1,7],[],[8,5,3]]
[2,1,8]

Resolução

Clica para revelar

heads :: [[a]] -> [a]
heads [] = []
heads ([]:t) = heads t -- é necessária esta definição pois, se `h` for uma lista vazia na definição abaixo, `head []` irá resultar num erro.
heads (h:t) = head h : heads t