summaryrefslogtreecommitdiff
path: root/exercises/options/options2.rs
diff options
context:
space:
mode:
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);
+ }
+}