Implement the keep
and discard
operation on collections.
Given a collection and a predicate on the collection's elements, keep
returns a new collection containing those elements where the predicate is true, while discard
returns a new collection containing those elements where the predicate is false.
For example, given the collection of numbers:
And the predicate:
Then your keep operation should produce:
While your discard operation should produce:
Note that the union of keep and discard is all the elements.
The functions may be called keep
and discard
, or they may need different names in order to not clash with existing functions or concepts in your language.
Keep your hands off that filter/reject/whatchamacallit functionality provided by your standard library! Solve this one yourself using other basic tools instead.
Sign up to Exercism to learn and master V with 95 exercises, and real human mentoring, all for free.