summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarol (Nichols || Goulding) <carol.nichols@gmail.com>2015-09-16 20:19:24 -0400
committerCarol (Nichols || Goulding) <carol.nichols@gmail.com>2015-09-16 20:27:45 -0400
commitf4c6dcf1d7c8c95bed0d7be36f27f504d8c0cb87 (patch)
tree5224716db1cd7a2d1711b16902e45c5f5189a7ec
parent32900581b9428a091078e78e1895e7448a70a710 (diff)
Add some exercises about variables!
-rw-r--r--README.md11
-rw-r--r--variables/variables1.rs6
-rw-r--r--variables/variables2.rs10
-rw-r--r--variables/variables3.rs8
-rw-r--r--variables/variables4.rs6
5 files changed, 41 insertions, 0 deletions
diff --git a/README.md b/README.md
index fe9d6ae..b4aae2e 100644
--- a/README.md
+++ b/README.md
@@ -9,12 +9,23 @@ This repo is very much the smallest thing that could possibly work :)
Thanks to [btbytes'](https://twitter.com/btbytes) [prlinks](https://github.com/btbytes/prlink), you can now click on the links below to load the exercises in the rust playpen!!
+### Uncategorized
+
+A few exercises based on things I've encountered or had trouble with getting used to.
+
- ["ex1.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+main%28%29+%7B%0A++++println%21%28%29%3B%0A%7D%0A)
- ["ex2.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+something%28%29+-%3E+String+%7B%0A++++%22hi%21%22%0A%7D%0A%0Afn+main%28%29+%7B%0A++++println%21%28%22%7B%7D%22%2C+something%28%29%29%3B%0A%7D%0A)
- ["ex3.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Astruct+Foo+%7B%0A++++capacity%3A+i32%2C%0A%7D%0A%0Afn+main%28%29+%7B%0A++++println%21%28%22%7B%3A%3F%7D%22%2C+Foo+%7B+capacity%3A+3+%7D%29%3B%0A%7D%0A)
- ["ex4.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+something%28%29+-%3E+Result%3Ci32%2C+std%3A%3Anum%3A%3AParseIntError%3E+%7B%0A++++let+x%3Ai32+%3D+%223%22.parse%28%29%3B%0A++++Ok%28x+*+4%29%0A%7D%0A%0Afn+main%28%29+%7B%0A++++match+something%28%29+%7B%0A++++++++Ok%28..%29+%3D%3E+println%21%28%22You+win%21%22%29%2C%0A++++++++Err%28e%29+%3D%3E+println%21%28%22Oh+no+something+went+wrong%3A+%7B%7D%22%2C+e%29%2C%0A++++%7D%0A%7D%0A)
- ["ex5.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Aenum+Reaction%3C%27a%3E+%7B%0A++++Sad%28%26%27a+str%29%2C%0A++++Happy%28%26%27a+str%29%2C%0A%7D%0A%0Afn+express%28sentiment%3A+Reaction%29+%7B%0A++++match+sentiment+%7B%0A++++++++Reaction%3A%3ASad%28s%29+%3D%3E+println%21%28%22%3A%28+%7B%7D%22%2C+s%29%2C%0A++++++++Reaction%3A%3AHappy%28s%29+%3D%3E+println%21%28%22%3A%29+%7B%7D%22%2C+s%29%2C%0A++++%7D%0A%7D%0A%0Afn+main+%28%29+%7B%0A++++let+x+%3D+Reaction%3A%3AHappy%28%22It%27s+a+great+day+for+Rust%21%22%29%3B%0A++++express%28x%29%3B%0A++++express%28x%29%3B%0A++++let+y+%3D+Reaction%3A%3ASad%28%22This+code+doesn%27t+compile+yet.%22%29%3B%0A++++express%28y%29%3B%0A%7D%0A)
+### Variable bindings
+
+- ["variables1.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+main%28%29+%7B%0A++++x+%3D+5%3B%0A++++println%21%28%22x+has+the+value+%7B%7D%22%2C+x%29%3B%0A%7D%0A)
+- ["variables2.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+main%28%29+%7B%0A++++let+x%3B%0A++++if+x+%3D%3D+10+%7B%0A++++++++println%21%28%22Ten%21%22%29%3B%0A++++%7D+else+%7B%0A++++++++println%21%28%22Not+ten%21%22%29%3B%0A++++%7D%0A%7D%0A)
+- ["variables3.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+main%28%29+%7B%0A++++let+x+%3D+3%3B%0A++++println%21%28%22Number+%7B%7D%22%2C+x%29%3B%0A++++x+%3D+5%3B%0A++++println%21%28%22Number+%7B%7D%22%2C+x%29%3B%0A%7D%0A)
+- ["variables4.rs"](http://play.rust-lang.org/?code=%2F%2F+Make+me+compile%21%0A%0Afn+main%28%29+%7B%0A++++let+x%3A+i32%3B%0A++++println%21%28%22Number+%7B%7D%22%2C+x%29%3B%0A%7D%0A)
+
## To help with this repo/TODO list
* File issues for problems or suggestions!
diff --git a/variables/variables1.rs b/variables/variables1.rs
new file mode 100644
index 0000000..3035bfa
--- /dev/null
+++ b/variables/variables1.rs
@@ -0,0 +1,6 @@
+// Make me compile!
+
+fn main() {
+ x = 5;
+ println!("x has the value {}", x);
+}
diff --git a/variables/variables2.rs b/variables/variables2.rs
new file mode 100644
index 0000000..9368488
--- /dev/null
+++ b/variables/variables2.rs
@@ -0,0 +1,10 @@
+// Make me compile!
+
+fn main() {
+ let x;
+ if x == 10 {
+ println!("Ten!");
+ } else {
+ println!("Not ten!");
+ }
+}
diff --git a/variables/variables3.rs b/variables/variables3.rs
new file mode 100644
index 0000000..cadb40b
--- /dev/null
+++ b/variables/variables3.rs
@@ -0,0 +1,8 @@
+// Make me compile!
+
+fn main() {
+ let x = 3;
+ println!("Number {}", x);
+ x = 5;
+ println!("Number {}", x);
+}
diff --git a/variables/variables4.rs b/variables/variables4.rs
new file mode 100644
index 0000000..c9a63f5
--- /dev/null
+++ b/variables/variables4.rs
@@ -0,0 +1,6 @@
+// Make me compile!
+
+fn main() {
+ let x: i32;
+ println!("Number {}", x);
+}