summaryrefslogtreecommitdiff
path: root/exercises/12_options/options2.rs
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-07-05 13:39:50 +0200
committermo8it <mo8it@proton.me>2024-07-05 13:39:50 +0200
commit7123c7ae3a9605fbe962e4ef0a0f1424cd16fef8 (patch)
treec67f7e62bb9a179ae4fdbab492501cb6847e64c7 /exercises/12_options/options2.rs
parent77b687d501771c24bd83294d97b8e6f9ffa92d6b (diff)
parent4d9c346a173bb722b929f3ea3c00f84954483e24 (diff)
Merge remote-tracking branch 'upstream/main' into fix-enum-variant-inconsistency
Diffstat (limited to 'exercises/12_options/options2.rs')
-rw-r--r--exercises/12_options/options2.rs19
1 files changed, 8 insertions, 11 deletions
diff --git a/exercises/12_options/options2.rs b/exercises/12_options/options2.rs
index 4d998e7..07c27c6 100644
--- a/exercises/12_options/options2.rs
+++ b/exercises/12_options/options2.rs
@@ -1,9 +1,6 @@
-// options2.rs
-//
-// Execute `rustlings hint options2` or use the `hint` watch subcommand for a
-// hint.
-
-// I AM NOT DONE
+fn main() {
+ // You can optionally experiment here.
+}
#[cfg(test)]
mod tests {
@@ -12,7 +9,7 @@ mod tests {
let target = "rustlings";
let optional_target = Some(target);
- // TODO: Make this an if let statement whose value is "Some" type
+ // TODO: Make this an if-let statement whose value is `Some`.
word = optional_target {
assert_eq!(word, target);
}
@@ -23,15 +20,15 @@ mod tests {
let range = 10;
let mut optional_integers: Vec<Option<i8>> = vec![None];
- for i in 1..(range + 1) {
+ for i in 1..=range {
optional_integers.push(Some(i));
}
let mut cursor = range;
- // TODO: 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.
+ // TODO: Make this a while-let statement. Remember that `Vec::pop()`
+ // adds another layer of `Option`. You can do nested pattern matching
+ // in if-let and while-let statements.
integer = optional_integers.pop() {
assert_eq!(integer, cursor);
cursor -= 1;