mirror of
https://github.com/notohh/rustlings.git
synced 2024-12-25 19:58:10 -05:00
836134202e
The existing test can be solved with the following: ```rs while let Some(integer) = optional_integers.pop() { assert_eq!(integer.unwrap(), range); ``` Similarly with `expect(...)`, `unwrap_or(0)`, `unwrap_or_default()`, etc. However, none of these solutions use the learning point of stacking `Option<T>`s. The updated test can _only_ be solved by stacking `Option<T>`s: ```rs while let Some(Some(integer)) = optional_integers.pop() { assert_eq!(integer, cursor); ``` With the updated test, using `unwrap` or `expect` will panic when it hits the `None` value, and using `unwrap_or` or `unwrap_or_default` will cause the final `assert_eq!(cursor, 0)` to panic. |
||
---|---|---|
.. | ||
clippy | ||
conversions | ||
enums | ||
error_handling | ||
functions | ||
generics | ||
hashmaps | ||
if | ||
intro | ||
iterators | ||
lifetimes | ||
macros | ||
modules | ||
move_semantics | ||
options | ||
primitive_types | ||
smart_pointers | ||
strings | ||
structs | ||
tests | ||
threads | ||
traits | ||
variables | ||
vecs | ||
quiz1.rs | ||
quiz2.rs | ||
quiz3.rs | ||
README.md |
Exercise to Book Chapter mapping
Exercise | Book Chapter |
---|---|
variables | §3.1 |
functions | §3.3 |
if | §3.5 |
primitive_types | §3.2, §4.3 |
vecs | §8.1 |
move_semantics | §4.1-2 |
structs | §5.1, §5.3 |
enums | §6, §18.3 |
strings | §8.2 |
modules | §7 |
hashmaps | §8.3 |
options | §10.1 |
error_handling | §9 |
generics | §10 |
traits | §10.2 |
tests | §11.1 |
lifetimes | §10.3 |
iterators | §13.2-4 |
threads | §16.1-3 |
smart_pointers | §15, §16.3 |
macros | §19.6 |
clippy | §21.4 |
conversions | n/a |