From: Ralf Jung Date: Sun, 31 Mar 2019 14:30:13 +0000 (+0200) Subject: Merge pull request #33 from louy2/patch-3 X-Git-Url: https://git.ralfj.de/rust-101.git/commitdiff_plain/fae4918e595dcdac5346a922c2f08debc8de06df?hp=b47621b6c6db5d528eb315308cd4e67a2bf9e3cd Merge pull request #33 from louy2/patch-3 Add exercise 10.2 (#24) --- diff --git a/src/part10.rs b/src/part10.rs index 39270de..2ba31f3 100644 --- a/src/part10.rs +++ b/src/part10.rs @@ -164,5 +164,13 @@ fn filter_vec_by_divisor(v: &Vec, divisor: i32) -> Vec { // those numbers that sit at odd positions? A function that checks whether a vector contains a // certain number? Whether all numbers are smaller than some threshold? Be creative! +// **Exercise 10.2**: We started the journey in Part 02 with `SomethingOrNothing`, and later +// learned about `Option` in Part 04. `Option` also has a `map` function. +// [Read its documentation here.](https://doc.rust-lang.org/stable/std/option/enum.Option.html#method.map) +// Which functions in previous parts can you rewrite to use `map` instead? +// (Hint: read the source code of `map`, and see if the pattern appears in your own code.) +// Bonus: [`test_invariant` in Part 05](part05.html#section-6) doesn't use `match`, +// but can you still find a way to rewrite it with `map`? + //@ [index](main.html) | [previous](part09.html) | [raw source](workspace/src/part10.rs) | //@ [next](part11.html)