summaryrefslogtreecommitdiff
path: root/go/strain/README.md
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-08-30 02:32:55 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-08-30 02:32:55 +0200
commite3d678b04f6c4a24f49dd55ac46224b5f8607208 (patch)
treeffc8ffa8800bd76776de6af694a049d7580d735b /go/strain/README.md
parent4fbacfaf2a8fdac29e06df4b09b92ae228a55b51 (diff)
Solve strain
Diffstat (limited to 'go/strain/README.md')
-rw-r--r--go/strain/README.md53
1 files changed, 53 insertions, 0 deletions
diff --git a/go/strain/README.md b/go/strain/README.md
new file mode 100644
index 0000000..26c9d2f
--- /dev/null
+++ b/go/strain/README.md
@@ -0,0 +1,53 @@
+# Strain
+
+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.
+
+Write two functions that each take a function and a list. One of them will
+return the list of items for which the passed in function is true, and the
+other will return the items for which it 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.
+
+To run the tests simply run the command `go test` in the exercise directory.
+
+If the test suite contains benchmarks, you can run these with the `-bench`
+flag:
+
+ go test -bench .
+
+For more detailed info about the Go track see the [help
+page](http://exercism.io/languages/go).
+
+## Source
+
+Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
+
+## Submitting Incomplete Problems
+It's possible to submit an incomplete solution so you can see how others have completed the exercise.
+