Strain

Strain

Facile

Istruzioni

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:

  • 1, 2, 3, 4, 5

E il predicato:

  • il numero è pari?

Allora l'operazione keep dovrebbe produrre:

  • 2, 4

Mentre l'operazione discard dovrebbe produrre:

  • 1, 3, 5

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.

Restrizioni

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.

Classi di tipi

Questo esercizio richiede che venga definita una classe di tipi Partition con due metodi: keep e discard.

Questo capitolo fornisce una buona introduzione all'argomento. Potresti anche dare un'occhiata a un riferimento del linguaggio.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Lean Exercism

Vuoi iniziare Strain?

Iscriviti a Exercism per imparare e padroneggiare Lean con 100 esercizi e il mentoring di persone reali, tutto gratis.