summaryrefslogtreecommitdiff
path: root/exercises/option
diff options
context:
space:
mode:
authorSanjay K <sanjaykdragon@users.noreply.github.com>2020-04-07 14:16:10 -0400
committerGitHub <noreply@github.com>2020-04-07 20:16:10 +0200
commit86b5c08b9bea1576127a7c5f599f5752072c087d (patch)
treef07a6c9b7c79712e5bd582544869940b7263f2d1 /exercises/option
parent71d31256a6a60eb955d756385fa58a1ce140c6f7 (diff)
feat: Add Option2 exercise (#290)
* added option2 * changed up the exercise, modified the help section * Update exercises/option/option2.rs Co-Authored-By: fmoko <mokou@posteo.net> * Update exercises/option/option2.rs Co-Authored-By: fmoko <mokou@posteo.net> * Update exercises/option/option2.rs Co-Authored-By: fmoko <mokou@posteo.net> Co-authored-by: fmoko <mokou@posteo.net>
Diffstat (limited to 'exercises/option')
-rw-r--r--exercises/option/option2.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/exercises/option/option2.rs b/exercises/option/option2.rs
new file mode 100644
index 0000000..a55f734
--- /dev/null
+++ b/exercises/option/option2.rs
@@ -0,0 +1,25 @@
+// option2.rs
+// Make me compile! Execute `rustlings hint option2` for hints
+
+// I AM NOT DONE
+
+fn main() {
+ let optional_value = Some(String::from("rustlings"));
+ // Make this an if let statement whose value is "Some" type
+ value = optional_value {
+ println!("the value of optional value is: {}", value);
+ } else {
+ println!("The optional value doesn't contain anything!");
+ }
+
+ let mut optional_values_vec: Vec<Option<i8>> = Vec::new();
+ for x in 1..10 {
+ optional_values_vec.push(Some(x));
+ }
+
+ // 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
+ value = optional_values_vec.pop() {
+ println!("current value: {}", value);
+ }
+}