summaryrefslogtreecommitdiff
path: root/exercises/ex5.rs
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/ex5.rs')
-rwxr-xr-xexercises/ex5.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/exercises/ex5.rs b/exercises/ex5.rs
new file mode 100755
index 0000000..2eb8cfd
--- /dev/null
+++ b/exercises/ex5.rs
@@ -0,0 +1,22 @@
+// ex5.rs
+// Make me compile!
+
+enum Reaction<'a> {
+ Sad(&'a str),
+ Happy(&'a str),
+}
+
+fn express(sentiment: Reaction) {
+ match sentiment {
+ Reaction::Sad(s) => println!(":( {}", s),
+ Reaction::Happy(s) => println!(":) {}", s),
+ }
+}
+
+fn main () {
+ let x = Reaction::Happy("It's a great day for Rust!");
+ express(x);
+ express(x);
+ let y = Reaction::Sad("This code doesn't compile yet.");
+ express(y);
+}