Chegou um carregamento de material de emergência, mas há um problema. Para os proteger de danos, os artigos (lanternas, kits de primeiros socorros, mantas) estão embalados dentro de caixas, e algumas dessas caixas estão aninhadas várias camadas dentro de outras caixas!
Para estarmos preparados para uma emergência, tudo tem de estar facilmente acessível numa única caixa. Consegues desembalar todos os artigos e colocá-los numa única caixa, para que estejam prontos quando forem mais necessários?
Dado um array aninhado de qualquer profundidade, devolve um array completamente achatado.
Repara que alguns percursos de linguagem podem incluir valores semelhantes a null no array de entrada, e a forma como estes valores são representados varia consoante o percurso. Esses valores devem ser excluídos do array achatado.
Além disso, o valor de entrada pode ser de um tipo de dados diferente e conter tipos diferentes, consoante o percurso.
Consulta o conjunto de testes para mais detalhes.
entrada: [1, [2, 6, null], [[null, [4]], 5]]
saída: [1, 2, 6, 4, 5]
Inscreve-te no Exercism para aprenderes e dominares Crystal com 26 conceitos142 exercícios, e mentoria humana real, tudo grátis.