summaryrefslogtreecommitdiff
path: root/exercises/options/options2.rs
diff options
context:
space:
mode:
authormokou <mokou@fastmail.com>2022-07-15 14:31:49 +0200
committermokou <mokou@fastmail.com>2022-07-15 14:31:49 +0200
commitc791cf4232fbfc313279b19b483c1adbca1c6862 (patch)
tree655ad6c9d33dab11dfd70f28d0ec29d03749a70b /exercises/options/options2.rs
parentf1c4caa37fe5027d121aec6433dee85433d9329d (diff)
parentc265b681b188ea21b3f8585e65ea363fc02c4b50 (diff)
Merge branch '5.0-dev'
Diffstat (limited to 'exercises/options/options2.rs')
-rw-r--r--exercises/options/options2.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/exercises/options/options2.rs b/exercises/options/options2.rs
new file mode 100644
index 0000000..75b66a3
--- /dev/null
+++ b/exercises/options/options2.rs
@@ -0,0 +1,25 @@
+// options2.rs
+// Execute `rustlings hint options2` or use the `hint` watch subcommand for a hint.
+
+// I AM NOT DONE
+
+fn main() {
+ let optional_word = Some(String::from("rustlings"));
+ // TODO: Make this an if let statement whose value is "Some" type
+ word = optional_word {
+ println!("The word is: {}", word);
+ } else {
+ println!("The optional word doesn't contain anything");
+ }
+
+ let mut optional_integers_vec: Vec<Option<i8>> = Vec::new();
+ for x in 1..10 {
+ optional_integers_vec.push(Some(x));
+ }
+
+ // 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
+ integer = optional_integers_vec.pop() {
+ println!("current value: {}", integer);
+ }
+}