|
|
|
@@ -531,6 +531,48 @@ path = "exercises/quiz2.rs"
|
|
|
|
|
mode = "test"
|
|
|
|
|
hint = "No hints this time ;)"
|
|
|
|
|
|
|
|
|
|
# OPTIONS
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
|
name = "options1"
|
|
|
|
|
path = "exercises/options/options1.rs"
|
|
|
|
|
mode = "compile"
|
|
|
|
|
hint = """
|
|
|
|
|
Hint 1: Check out some functions of Option:
|
|
|
|
|
is_some
|
|
|
|
|
is_none
|
|
|
|
|
unwrap
|
|
|
|
|
|
|
|
|
|
and:
|
|
|
|
|
pattern matching
|
|
|
|
|
|
|
|
|
|
Hint 2: There are no sensible defaults for the value of an Array; the values need to be filled before use.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
|
name = "options2"
|
|
|
|
|
path = "exercises/options/options2.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
|
|
|
|
|
Also see Option::flatten
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
|
name = "options3"
|
|
|
|
|
path = "exercises/options/options3.rs"
|
|
|
|
|
mode = "compile"
|
|
|
|
|
hint = """
|
|
|
|
|
The compiler says a partial move happened in the `match`
|
|
|
|
|
statement. How can this be avoided? The compiler shows the correction
|
|
|
|
|
needed. After making the correction as suggested by the compiler, do
|
|
|
|
|
read: https://doc.rust-lang.org/std/keyword.ref.html"""
|
|
|
|
|
|
|
|
|
|
# ERROR HANDLING
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
@@ -661,48 +703,6 @@ ReportCard struct generic, but also the correct property - you will need to chan
|
|
|
|
|
of the struct slightly too...you can do it!
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
# OPTIONS
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
|
name = "option1"
|
|
|
|
|
path = "exercises/option/option1.rs"
|
|
|
|
|
mode = "compile"
|
|
|
|
|
hint = """
|
|
|
|
|
Hint 1: Check out some functions of Option:
|
|
|
|
|
is_some
|
|
|
|
|
is_none
|
|
|
|
|
unwrap
|
|
|
|
|
|
|
|
|
|
and:
|
|
|
|
|
pattern matching
|
|
|
|
|
|
|
|
|
|
Hint 2: There are no sensible defaults for the value of an Array; the values need to be filled before use.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
[[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
|
|
|
|
|
Also see Option::flatten
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
|
name = "option3"
|
|
|
|
|
path = "exercises/option/option3.rs"
|
|
|
|
|
mode = "compile"
|
|
|
|
|
hint = """
|
|
|
|
|
The compiler says a partial move happened in the `match`
|
|
|
|
|
statement. How can this be avoided? The compiler shows the correction
|
|
|
|
|
needed. After making the correction as suggested by the compiler, do
|
|
|
|
|
read: https://doc.rust-lang.org/std/keyword.ref.html"""
|
|
|
|
|
|
|
|
|
|
# TRAITS
|
|
|
|
|
|
|
|
|
|
[[exercises]]
|
|
|
|
|