Valósítsd meg a keep és discard műveletet gyűjteményeken.
Adott egy gyűjtemény és a gyűjtemény elemeire vonatkozó predikátum: a keep egy új gyűjteményt ad vissza, amely azokat az elemeket tartalmazza, amelyekre a predikátum igaz, a discard pedig egy új gyűjteményt ad vissza, amely azokat az elemeket tartalmazza, amelyekre a predikátum hamis.
Például adott a következő számgyűjtemény:
És a predikátum:
Ekkor a keep műveletednek ezt kell eredményeznie:
A discard műveletednek pedig ezt:
Figyeld meg, hogy a keep és a discard együttvéve az összes elemet lefedi.
Lehet, hogy a függvényeket keep és discard néven hívják, de az is lehet, hogy más nevet kell kapniuk, hogy ne ütközzenek a nyelvedben már létező függvényekkel vagy fogalmakkal.
Ne nyúlj a szabványos könyvtáradban elérhető filter/reject/izé funkcióhoz! Oldd meg inkább magad, más alapvető eszközökkel.
A tesztkészlet egy Function osztályhoz tartozó példányt ad át a keep és a discard metódusnak blokkargumentumként.
Ahhoz, hogy sikeresen átmenj a teszteken, meg kell hívnod ezt a függvényt a kódodban.
Ha nem vagy biztos benne, hogyan kell ezt megtenni, nézd meg a Function osztály dokumentációját.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Wren nyelvet 117 feladat segítségével, valódi emberi mentorálással, mindez ingyen.