Implementa le operazioni keep e discard sulle collezioni.
Data una collezione e un predicato sui suoi elementi, keep restituisce una nuova collezione che contiene gli elementi per cui il predicato è vero, mentre discard restituisce una nuova collezione che contiene gli elementi per cui il predicato è falso.
Ad esempio, data la collezione di numeri:
E il predicato:
Allora l'operazione keep dovrebbe produrre:
Mentre l'operazione discard dovrebbe produrre:
Nota che l'unione di keep e discard comprende tutti gli elementi.
Le funzioni possono chiamarsi keep e discard, oppure potrebbero richiedere nomi diversi per non entrare in conflitto con funzioni o concetti già presenti nel linguaggio che stai usando.
Lascia stare quella funzionalità di filter/reject/come si chiama che ti offre la libreria standard! Risolvilo invece da solo, usando altri strumenti di base.
Iscriviti a Exercism per imparare e padroneggiare Groovy con 66 esercizi e il mentoring di persone reali, tutto gratis.