Merge pull request #282 from sanjaykdragon/master

feat: added option exercise
This commit is contained in:
fmoko 2020-04-05 15:58:09 +02:00 committed by GitHub
commit 7ce42941ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 47 additions and 1 deletions

2
Cargo.lock generated
View File

@ -592,7 +592,7 @@ dependencies = [
[[package]]
name = "rustlings"
version = "2.2.0"
version = "2.2.1"
dependencies = [
"assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
"clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",

View File

@ -0,0 +1,9 @@
### Option
#### Book Sections
To learn about Option<T>, check out these links:
- [Option Enum Format](https://doc.rust-lang.org/stable/book/ch10-01-syntax.html#in-enum-definitions)
- [Option Module Documentation](https://doc.rust-lang.org/std/option/)
- [Option Enum Documentation](https://doc.rust-lang.org/std/option/enum.Option.html)

View File

@ -0,0 +1,23 @@
// option1.rs
// Make me compile! Execute `rustlings hint option1` for hints
// I AM NOT DONE
// you can modify anything EXCEPT for this function's sig
fn print_number(maybe_number: Option<u16>) {
println!("printing: {}", maybe_number.unwrap());
}
fn main() {
print_number(13);
print_number(99);
let mut numbers: [Option<u16>; 5];
for iter in 0..5 {
let number_to_add: u16 = {
((iter * 5) + 2) / (4 * 16)
};
numbers[iter] = number_to_add;
}
}

View File

@ -520,6 +520,20 @@ function `unwrap_or`.
Or use an `if let` statement on the result of `pop()` to both destructure
a `Some` value and only print out something if we have a value!"""
[[exercises]]
name = "option1"
path = "exercises/option/option1.rs"
mode = "compile"
hint = """
Check out some functions of Option:
is_some
is_none
unwrap
and:
pattern matching
"""
[[exercises]]
name = "result1"
path = "exercises/error_handling/result1.rs"