Ha llegado un envío de suministros de emergencia, pero hay un problema. Para protegerlos de posibles daños, los artículos (linternas, botiquines, mantas) están metidos en cajas, ¡y algunas de esas cajas están anidadas varias capas dentro de otras cajas!
Para estar preparado ante una emergencia, todo debe ser fácilmente accesible en una sola caja. ¿Puedes desempaquetar todos los suministros y colocarlos en una sola caja, para que estén listos cuando más se necesiten?
Toma un array anidado de cualquier profundidad y devuelve un array totalmente aplanado.
Ten en cuenta que algunas rutas de lenguajes pueden incluir valores similares a null en el array de entrada, y la forma en que se representan estos valores varía según la ruta. Estos valores deben excluirse del array aplanado.
Además, la entrada puede ser de un tipo de dato distinto y contener tipos diferentes, según la ruta.
Consulta el conjunto de pruebas para ver los detalles.
entrada: [1, [2, 6, null], [[null, [4]], 5]]
salida: [1, 2, 6, 4, 5]
La descripción anterior de este ejercicio es común a todas las pistas de Exercism. Habla de «arrays», pero ese tipo de datos no existe en Elixir. Este ejercicio trata sobre listas.
Regístrate en Exercism para aprender y dominar Elixir con 58 conceptos168 ejercicios y mentoría humana real, todo gratis.