mirror of
https://github.com/notohh/rustlings.git
synced 2024-12-22 11:28:08 -05:00
feat: Add Option2 exercise (#290)
* added option2 * changed up the exercise, modified the help section * Update exercises/option/option2.rs Co-Authored-By: fmoko <mokou@posteo.net> * Update exercises/option/option2.rs Co-Authored-By: fmoko <mokou@posteo.net> * Update exercises/option/option2.rs Co-Authored-By: fmoko <mokou@posteo.net> Co-authored-by: fmoko <mokou@posteo.net>
This commit is contained in:
parent
71d31256a6
commit
86b5c08b9b
2 changed files with 40 additions and 0 deletions
25
exercises/option/option2.rs
Normal file
25
exercises/option/option2.rs
Normal file
|
@ -0,0 +1,25 @@
|
|||
// option2.rs
|
||||
// Make me compile! Execute `rustlings hint option2` for hints
|
||||
|
||||
// I AM NOT DONE
|
||||
|
||||
fn main() {
|
||||
let optional_value = Some(String::from("rustlings"));
|
||||
// Make this an if let statement whose value is "Some" type
|
||||
value = optional_value {
|
||||
println!("the value of optional value is: {}", value);
|
||||
} else {
|
||||
println!("The optional value doesn't contain anything!");
|
||||
}
|
||||
|
||||
let mut optional_values_vec: Vec<Option<i8>> = Vec::new();
|
||||
for x in 1..10 {
|
||||
optional_values_vec.push(Some(x));
|
||||
}
|
||||
|
||||
// make this a while let statement - remember that vector.pop also adds another layer of Option<T>
|
||||
// You can stack `Option<T>`'s into while let and if let
|
||||
value = optional_values_vec.pop() {
|
||||
println!("current value: {}", value);
|
||||
}
|
||||
}
|
15
info.toml
15
info.toml
|
@ -534,6 +534,21 @@ and:
|
|||
pattern matching
|
||||
"""
|
||||
|
||||
[[exercises]]
|
||||
name = "option2"
|
||||
path = "exercises/option/option2.rs"
|
||||
mode = "compile"
|
||||
hint = """
|
||||
check out:
|
||||
https://doc.rust-lang.org/rust-by-example/flow_control/if_let.html
|
||||
https://doc.rust-lang.org/rust-by-example/flow_control/while_let.html
|
||||
|
||||
Remember that Options can be stacked in if let and while let.
|
||||
For example: Some(Some(variable)) = variable2
|
||||
|
||||
|
||||
"""
|
||||
|
||||
[[exercises]]
|
||||
name = "result1"
|
||||
path = "exercises/error_handling/result1.rs"
|
||||
|
|
Loading…
Reference in a new issue