Clarify options2 exercise comments

This commit is contained in:
WuChenyu 2026-07-06 17:31:05 +08:00
parent 5e7a5d1721
commit 86660061f3

View File

@ -9,7 +9,8 @@ mod tests {
let target = "rustlings"; let target = "rustlings";
let optional_target = Some(target); let optional_target = Some(target);
// TODO: Make this an if-let statement whose value is `Some`. // TODO: Use an if-let statement to bind the value inside
// `optional_target` to `word`.
word = optional_target { word = optional_target {
assert_eq!(word, target); assert_eq!(word, target);
} }
@ -26,9 +27,16 @@ mod tests {
let mut cursor = range; let mut cursor = range;
// TODO: Make this a while-let statement. Remember that `Vec::pop()` // TODO: Make this a while-let statement. The loop should keep popping
// adds another layer of `Option`. You can do nested pattern matching // integers from the end of the vector until there is no integer left to
// in if-let and while-let statements. // check.
//
// `Vec::pop()` removes the last element from the vector and returns it,
// or returns `None` if the vector is empty. Since this vector stores
// `Option<i8>` values, a successful pop returns the vector's inner
// `Option<i8>` wrapped in another `Option`.
// You can use nested pattern matching in if-let and while-let
// statements.
integer = optional_integers.pop() { integer = optional_integers.pop() {
assert_eq!(integer, cursor); assert_eq!(integer, cursor);
cursor -= 1; cursor -= 1;