exercism/elixir/strain/README.md

56 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2024-03-10 12:53:48 +00:00
# Strain
Welcome to Strain on Exercism's Elixir Track.
If you need help running the tests or submitting your code, check out `HELP.md`.
If you get stuck on the exercise, check out `HINTS.md`, but try and solve it without using those first :)
## Instructions
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:
- 1, 2, 3, 4, 5
And the predicate:
- is the number even?
Then your keep operation should produce:
- 2, 4
While your discard operation should produce:
- 1, 3, 5
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.
## Restrictions
Keep your hands off that filter/reject/whatchamacallit functionality provided by your standard library!
Solve this one yourself using other basic tools instead.
## Source
### Created by
- @petehuang
### Contributed to by
- @angelikatyborska
- @Cohen-Carlisle
- @devonestes
- @DoggettCK
- @fxn
- @kytrinyx
- @neenjaw
- @sotojuan
### Based on
Conversation with James Edward Gray II - http://graysoftinc.com/