Filtrado

Filtrado

Fácil

Instrucciones

Implementa las operaciones keep y discard en colecciones. Dada una colección y un predicado sobre los elementos de la colección, keep devuelve una nueva colección que contiene aquellos elementos donde el predicado es verdadero, mientras que discard devuelve una nueva colección que contiene aquellos elementos donde el predicado es falso.

Por ejemplo, dada la colección de números:

  • 1, 2, 3, 4, 5

Y el predicado:

  • ¿el número es par?

Entonces tu operación keep debería producir:

  • 2, 4

Mientras que tu operación discard debería producir:

  • 1, 3, 5

Ten en cuenta que la unión de keep y discard es todos los elementos.

Las funciones pueden llamarse keep y discard, o pueden necesitar nombres diferentes para no chocar con funciones o conceptos existentes en tu lenguaje.

Restricciones

¡No toques esa funcionalidad de filter/reject/cómo se llame que ofrece tu biblioteca estándar! Resuélvelo por tu cuenta usando otras herramientas básicas.

Notas de implementación

La suite de tests pasa una instancia de la clase Function a los métodos keep y discard como un argumento de bloque. Para lograr que los tests pasen, tendrás que llamar a esa función dentro de tu código. Si no sabes cómo hacerlo, consulta la documentación de la clase Function.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Wren Exercism

¿Todo listo para empezar Filtrado?

Regístrate en Exercism para aprender y dominar Wren con 117 ejercicios y mentoría humana real, todo gratis.