diff options
| author | marisa <mokou@posteo.de> | 2019-11-11 17:21:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-11 17:21:06 +0100 |
| commit | ec2d4bd3ee665f2a4c79dd42c41078223074d4c1 (patch) | |
| tree | 6106b922559491112240f6465f965cf811caf5b8 /exercises | |
| parent | ce9fa6ebbfdc3e7585d488d9409797285708316f (diff) | |
| parent | 9a9007abae86c3b1b1c09778a6544ced54ea4453 (diff) | |
Merge branch 'master' into refactor-hints
Diffstat (limited to 'exercises')
51 files changed, 107 insertions, 0 deletions
diff --git a/exercises/enums/enums1.rs b/exercises/enums/enums1.rs index ee665db..a2223d3 100644 --- a/exercises/enums/enums1.rs +++ b/exercises/enums/enums1.rs @@ -1,6 +1,8 @@ // enums1.rs // Make me compile! Execute `rustlings hint enums1` for hints! +// I AM NOT DONE + #[derive(Debug)] enum Message { // TODO: define a few types of messages as used below diff --git a/exercises/enums/enums2.rs b/exercises/enums/enums2.rs index f9eb8bd..52ccb22 100644 --- a/exercises/enums/enums2.rs +++ b/exercises/enums/enums2.rs @@ -1,6 +1,8 @@ // enums2.rs // Make me compile! Execute `rustlings hint enums2` for hints! +// I AM NOT DONE + #[derive(Debug)] enum Message { // TODO: define the different variants used below diff --git a/exercises/enums/enums3.rs b/exercises/enums/enums3.rs index c5d81bf..bb7dfb4 100644 --- a/exercises/enums/enums3.rs +++ b/exercises/enums/enums3.rs @@ -1,6 +1,8 @@ // enums3.rs // Address all the TODOs to make the tests pass! +// I AM NOT DONE + enum Message { // TODO: implement the message variant types based on their usage below } diff --git a/exercises/error_handling/errors1.rs b/exercises/error_handling/errors1.rs index f585e29..9c24d85 100644 --- a/exercises/error_handling/errors1.rs +++ b/exercises/error_handling/errors1.rs @@ -6,6 +6,8 @@ // this function to have. // Execute `rustlings hint errors1` for hints! +// I AM NOT DONE + pub fn generate_nametag_text(name: String) -> Option<String> { if name.len() > 0 { Some(format!("Hi! My name is {}", name)) diff --git a/exercises/error_handling/errors2.rs b/exercises/error_handling/errors2.rs index 5ac6339..aad3a93 100644 --- a/exercises/error_handling/errors2.rs +++ b/exercises/error_handling/errors2.rs @@ -16,6 +16,8 @@ // There are at least two ways to implement this that are both correct-- but // one is a lot shorter! Execute `rustlings hint errors2` for hints to both ways. +// I AM NOT DONE + use std::num::ParseIntError; pub fn total_cost(item_quantity: &str) -> Result<i32, ParseIntError> { diff --git a/exercises/error_handling/errors3.rs b/exercises/error_handling/errors3.rs index d9ec133..460ac5c 100644 --- a/exercises/error_handling/errors3.rs +++ b/exercises/error_handling/errors3.rs @@ -4,6 +4,8 @@ // Why not? What should we do to fix it? // Execute `rustlings hint errors3` for hints! +// I AM NOT DONE + use std::num::ParseIntError; fn main() { diff --git a/exercises/error_handling/errorsn.rs b/exercises/error_handling/errorsn.rs index 2f3566b..fc25308 100644 --- a/exercises/error_handling/errorsn.rs +++ b/exercises/error_handling/errorsn.rs @@ -15,6 +15,8 @@ // // Execute `rustlings hint errors4` for hints :) +// I AM NOT DONE + use std::error; use std::fmt; use std::io; diff --git a/exercises/error_handling/option1.rs b/exercises/error_handling/option1.rs index e334e93..5d81b15 100644 --- a/exercises/error_handling/option1.rs +++ b/exercises/error_handling/option1.rs @@ -4,6 +4,8 @@ // on `None`. Handle this in a more graceful way than calling `unwrap`! // Execute `rustlings hint option1` for hints :) +// I AM NOT DONE + pub fn pop_too_much() -> bool { let mut list = vec![3]; diff --git a/exercises/error_handling/result1.rs b/exercises/error_handling/result1.rs index c3f2d6e..352a6c2 100644 --- a/exercises/error_handling/result1.rs +++ b/exercises/error_handling/result1.rs @@ -1,6 +1,8 @@ // result1.rs // Make this test pass! Execute `rustlings hint option2` for hints :) +// I AM NOT DONE + #[derive(PartialEq, Debug)] struct PositiveNonzeroInteger(u64); diff --git a/exercises/functions/functions1.rs b/exercises/functions/functions1.rs index 313fe1e..49d48e9 100644 --- a/exercises/functions/functions1.rs +++ b/exercises/functions/functions1.rs @@ -1,6 +1,8 @@ // functions1.rs // Make me compile! Execute `rustlings hint function1` for hints :) +// I AM NOT DONE + fn main() { call_me(); } diff --git a/exercises/functions/functions2.rs b/exercises/functions/functions2.rs index 9bb3d76..108ba38 100644 --- a/exercises/functions/functions2.rs +++ b/exercises/functions/functions2.rs @@ -1,6 +1,8 @@ // functions2.rs // Make me compile! Execute `rustlings hint functions2` for hints :) +// I AM NOT DONE + fn main() { call_me(3); } diff --git a/exercises/functions/functions3.rs b/exercises/functions/functions3.rs index b2e90f6..e3c1bf7 100644 --- a/exercises/functions/functions3.rs +++ b/exercises/functions/functions3.rs @@ -1,6 +1,8 @@ // functions3.rs // Make me compile! Execute `rustlings hint functions3` for hints :) +// I AM NOT DONE + fn main() { call_me(); } diff --git a/exercises/functions/functions4.rs b/exercises/functions/functions4.rs index 78fc27b..6bf46f0 100644 --- a/exercises/functions/functions4.rs +++ b/exercises/functions/functions4.rs @@ -4,6 +4,8 @@ // This store is having a sale where if the price is an even number, you get // 10 (money unit) off, but if it's an odd number, it's 3 (money unit) less. +// I AM NOT DONE + fn main() { let original_price = 51; println!("Your sale price is {}", sale_price(original_price)); diff --git a/exercises/functions/functions5.rs b/exercises/functions/functions5.rs index c7841a6..d22aa6c 100644 --- a/exercises/functions/functions5.rs +++ b/exercises/functions/functions5.rs @@ -1,6 +1,8 @@ // functions5.rs // Make me compile! Execute `rustlings hint functions5` for hints :) +// I AM NOT DONE + fn main() { let answer = square(3); println!("The answer is {}", answer); diff --git a/exercises/if/if1.rs b/exercises/if/if1.rs index bce052a..9086754 100644 --- a/exercises/if/if1.rs +++ b/exercises/if/if1.rs @@ -1,5 +1,7 @@ // if1.rs +// I AM NOT DONE + pub fn bigger(a: i32, b: i32) -> i32 { // Complete this function to return the bigger number! // Do not use: diff --git a/exercises/macros/macros1.rs b/exercises/macros/macros1.rs index 0bc2a69..ed0dac8 100644 --- a/exercises/macros/macros1.rs +++ b/exercises/macros/macros1.rs @@ -1,6 +1,8 @@ // macros1.rs // Make me compile! Execute `rustlings hint macros1` for hints :) +// I AM NOT DONE + macro_rules! my_macro { () => { println!("Check out my macro!"); diff --git a/exercises/macros/macros2.rs b/exercises/macros/macros2.rs index c4b4510..d0be123 100644 --- a/exercises/macros/macros2.rs +++ b/exercises/macros/macros2.rs @@ -1,6 +1,8 @@ // macros2.rs // Make me compile! Execute `rustlings hint macros2` for hints :) +// I AM NOT DONE + fn main() { my_macro!(); } diff --git a/exercises/macros/macros3.rs b/exercises/macros/macros3.rs index 9b08adc..93a4311 100644 --- a/exercises/macros/macros3.rs +++ b/exercises/macros/macros3.rs @@ -2,6 +2,8 @@ // Make me compile, without taking the macro out of the module! // Execute `rustlings hint macros3` for hints :) +// I AM NOT DONE + mod macros { macro_rules! my_macro { () => { diff --git a/exercises/macros/macros4.rs b/exercises/macros/macros4.rs index 2ecba7d..3a74807 100644 --- a/exercises/macros/macros4.rs +++ b/exercises/macros/macros4.rs @@ -1,6 +1,8 @@ // macros4.rs // Make me compile! Execute `rustlings hint macros4` for hints :) +// I AM NOT DONE + macro_rules! my_macro { () => { println!("Check out my macro!"); diff --git a/exercises/modules/modules1.rs b/exercises/modules/modules1.rs index c50d62f..812dfee 100644 --- a/exercises/modules/modules1.rs +++ b/exercises/modules/modules1.rs @@ -1,6 +1,8 @@ // modules1.rs // Make me compile! Execute `rustlings hint modules1` for hints :) +// I AM NOT DONE + mod sausage_factory { fn make_sausage() { println!("sausage!"); diff --git a/exercises/modules/modules2.rs b/exercises/modules/modules2.rs index c3bf4f7..fde439d 100644 --- a/exercises/modules/modules2.rs +++ b/exercises/modules/modules2.rs @@ -1,6 +1,8 @@ // modules2.rs // Make me compile! Execute `rustlings hint modules2` for hints :) +// I AM NOT DONE + mod delicious_snacks { use self::fruits::PEAR as fruit; use self::veggies::CUCUMBER as veggie; diff --git a/exercises/move_semantics/move_semantics1.rs b/exercises/move_semantics/move_semantics1.rs index a69ec60..e2f5876 100644 --- a/exercises/move_semantics/move_semantics1.rs +++ b/exercises/move_semantics/move_semantics1.rs @@ -1,6 +1,8 @@ // move_semantics1.rs // Make me compile! Execute `rustlings hint move_semantics1` for hints :) +// I AM NOT DONE + fn main() { let vec0 = Vec::new(); diff --git a/exercises/move_semantics/move_semantics2.rs b/exercises/move_semantics/move_semantics2.rs index b945042..9233bb7 100644 --- a/exercises/move_semantics/move_semantics2.rs +++ b/exercises/move_semantics/move_semantics2.rs @@ -2,6 +2,8 @@ // Make me compile without changing line 10! // Execute `rustlings hint move_semantics2` for hints :) +// I AM NOT DONE + fn main() { let vec0 = Vec::new(); diff --git a/exercises/move_semantics/move_semantics3.rs b/exercises/move_semantics/move_semantics3.rs index 3f7958f..43fef74 100644 --- a/exercises/move_semantics/move_semantics3.rs +++ b/exercises/move_semantics/move_semantics3.rs @@ -3,6 +3,8 @@ // (no lines with multiple semicolons necessary!) // Execute `rustlings hint move_semantics3` for hints :) +// I AM NOT DONE + fn main() { let vec0 = Vec::new(); diff --git a/exercises/move_semantics/move_semantics4.rs b/exercises/move_semantics/move_semantics4.rs index 2143b81..a1c4a41 100644 --- a/exercises/move_semantics/move_semantics4.rs +++ b/exercises/move_semantics/move_semantics4.rs @@ -4,6 +4,8 @@ // freshly created vector from fill_vec to its caller. // Execute `rustlings hint move_semantics4` for hints! +// I AM NOT DONE + fn main() { let vec0 = Vec::new(); diff --git a/exercises/primitive_types/primitive_types1.rs b/exercises/primitive_types/primitive_types1.rs index c3d11fe..0912139 100644 --- a/exercises/primitive_types/primitive_types1.rs +++ b/exercises/primitive_types/primitive_types1.rs @@ -2,6 +2,8 @@ // Fill in the rest of the line that has code missing! // No hints, there's no tricks, just get used to typing these :) +// I AM NOT DONE + fn main() { // Booleans (`bool`) diff --git a/exercises/primitive_types/primitive_types2.rs b/exercises/primitive_types/primitive_types2.rs index f5c8f87..6576a4d 100644 --- a/exercises/primitive_types/primitive_types2.rs +++ b/exercises/primitive_types/primitive_types2.rs @@ -2,6 +2,8 @@ // Fill in the rest of the line that has code missing! // No hints, there's no tricks, just get used to typing these :) +// I AM NOT DONE + fn main() { // Characters (`char`) diff --git a/exercises/primitive_types/primitive_types3.rs b/exercises/primitive_types/primitive_types3.rs index e58c76c..dfd6351 100644 --- a/exercises/primitive_types/primitive_types3.rs +++ b/exercises/primitive_types/primitive_types3.rs @@ -2,6 +2,8 @@ // Create an array with at least 100 elements in it where the ??? is. // Execute `rustlings hint primitive_types3` for hints! +// I AM NOT DONE + fn main() { let a = ??? diff --git a/exercises/primitive_types/primitive_types4.rs b/exercises/primitive_types/primitive_types4.rs index 2efa58a..ff1e279 100644 --- a/exercises/primitive_types/primitive_types4.rs +++ b/exercises/primitive_types/primitive_types4.rs @@ -2,6 +2,8 @@ // Get a slice out of Array a where the ??? is so that the `if` statement // returns true. Execute `rustlings hint primitive_types4` for hints!! +// I AM NOT DONE + #[test] fn main() { let a = [1, 2, 3, 4, 5]; diff --git a/exercises/primitive_types/primitive_types5.rs b/exercises/primitive_types/primitive_types5.rs index 6ab1c21..680d8d2 100644 --- a/exercises/primitive_types/primitive_types5.rs +++ b/exercises/primitive_types/primitive_types5.rs @@ -2,6 +2,8 @@ // Destructure the `cat` tuple so that the println will work. // Execute `rustlings hint primitive_types5` for hints! +// I AM NOT DONE + fn main() { let cat = ("Furry McFurson", 3.5); let /* your pattern here */ = cat; diff --git a/exercises/primitive_types/primitive_types6.rs b/exercises/primitive_types/primitive_types6.rs index 219a53e..2bc817e 100644 --- a/exercises/primitive_types/primitive_types6.rs +++ b/exercises/primitive_types/primitive_types6.rs @@ -3,6 +3,8 @@ // You can put this right into the `println!` where the ??? is. // Execute `rustlings hint primitive_types6` for hints! +// I AM NOT DONE + fn main() { let numbers = (1, 2, 3); println!("The second number is {}", ???); diff --git a/exercises/standard_library_types/arc1.rs b/exercises/standard_library_types/arc1.rs index 5aa02d9..04c169f 100644 --- a/exercises/standard_library_types/arc1.rs +++ b/exercises/standard_library_types/arc1.rs @@ -4,6 +4,8 @@ // somewhere. Try not to create any copies of the `numbers` Vec! // Execute `rustlings help arc1` for hints :) +// I AM NOT DONE + use std::sync::Arc; use std::thread; diff --git a/exercises/standard_library_types/iterators2.rs b/exercises/standard_library_types/iterators2.rs index e70d5b6..a1274a2 100644 --- a/exercises/standard_library_types/iterators2.rs +++ b/exercises/standard_library_types/iterators2.rs @@ -5,6 +5,8 @@ // Step 3. Apply the `capitalize_first` function again to a list, but try and ensure it returns a single string // As always, there are hints if you execute `rustlings hint iterators2`! +// I AM NOT DONE + pub fn capitalize_first(input: &str) -> String { let mut c = input.chars(); match c.next() { diff --git a/exercises/standard_library_types/iterators3.rs b/exercises/standard_library_types/iterators3.rs index d5a5afa..353cea6 100644 --- a/exercises/standard_library_types/iterators3.rs +++ b/exercises/standard_library_types/iterators3.rs @@ -7,6 +7,8 @@ // Execute `rustlings hint iterators3` to get some hints! // Have fun :-) +// I AM NOT DONE + #[derive(Debug, PartialEq, Eq)] pub enum DivisionError { NotDivisible(NotDivisibleError), diff --git a/exercises/standard_library_types/iterators4.rs b/exercises/standard_library_types/iterators4.rs index bcb7f3c..b945613 100644 --- a/exercises/standard_library_types/iterators4.rs +++ b/exercises/standard_library_types/iterators4.rs @@ -1,5 +1,7 @@ // iterators4.rs +// I AM NOT DONE + pub fn factorial(num: u64) -> u64 { // Complete this function to return factorial of num // Do not use: diff --git a/exercises/strings/strings1.rs b/exercises/strings/strings1.rs index 0faf86e..8090244 100644 --- a/exercises/strings/strings1.rs +++ b/exercises/strings/strings1.rs @@ -2,6 +2,8 @@ // Make me compile without changing the function signature! // Execute `rustlings hint strings1` for hints ;) +// I AM NOT DONE + fn main() { let answer = current_favorite_color(); println!("My current favorite color is {}", answer); diff --git a/exercises/strings/strings2.rs b/exercises/strings/strings2.rs index bd0f35c..5a2ce74 100644 --- a/exercises/strings/strings2.rs +++ b/exercises/strings/strings2.rs @@ -2,6 +2,8 @@ // Make me compile without changing the function signature! // Execute `rustlings hint strings2` for hints :) +// I AM NOT DONE + fn main() { let word = String::from("green"); // Try not changing this line :) if is_a_color_word(word) { diff --git a/exercises/structs/structs1.rs b/exercises/structs/structs1.rs index 138b3fd..6d0b2f4 100644 --- a/exercises/structs/structs1.rs +++ b/exercises/structs/structs1.rs @@ -1,6 +1,8 @@ // structs1.rs // Address all the TODOs to make the tests pass! +// I AM NOT DONE + struct ColorClassicStruct { // TODO: Something goes here } diff --git a/exercises/structs/structs2.rs b/exercises/structs/structs2.rs index db381e7..0699137 100644 --- a/exercises/structs/structs2.rs +++ b/exercises/structs/structs2.rs @@ -2,6 +2,8 @@ // Address all the TODOs to make the tests pass! // No hints, just do it! +// I AM NOT DONE + #[derive(Debug)] struct Order { name: String, diff --git a/exercises/test1.rs b/exercises/test1.rs index 6c27355..3e13ce5 100644 --- a/exercises/test1.rs +++ b/exercises/test1.rs @@ -7,6 +7,8 @@ // more than 40 at once, each apple only costs 1! Write a function that calculates // the price of an order of apples given the order amount. No hints this time! +// I AM NOT DONE + // Put your function here! // fn ..... { diff --git a/exercises/test2.rs b/exercises/test2.rs index 7fe81c6..d01606c 100644 --- a/exercises/test2.rs +++ b/exercises/test2.rs @@ -7,6 +7,8 @@ // you think each value is. That is, add either `string_slice` or `string` // before the parentheses on each line. If you're right, it will compile! +// I AM NOT DONE + fn string_slice(arg: &str) { println!("{}", arg); } diff --git a/exercises/test3.rs b/exercises/test3.rs index 9a72118..f94c36f 100644 --- a/exercises/test3.rs +++ b/exercises/test3.rs @@ -7,6 +7,8 @@ // we expect to get when we call `times_two` with a negative number. // No hints, you can do this :) +// I AM NOT DONE + pub fn times_two(num: i32) -> i32 { num * 2 } diff --git a/exercises/test4.rs b/exercises/test4.rs index e50f1b0..c543a64 100644 --- a/exercises/test4.rs +++ b/exercises/test4.rs @@ -5,6 +5,8 @@ // Write a macro that passes the test! No hints this time, you can do it! +// I AM NOT DONE + fn main() { if my_macro!("world!") != "Hello world!" { panic!("Oh no! Wrong output!"); diff --git a/exercises/tests/tests1.rs b/exercises/tests/tests1.rs index 5eb918a..b37cefa 100644 --- a/exercises/tests/tests1.rs +++ b/exercises/tests/tests1.rs @@ -6,6 +6,8 @@ // This test has a problem with it -- make the test compile! Make the test // pass! Make the test fail! Execute `rustlings hint tests1` for hints :) +// I AM NOT DONE + #[cfg(test)] mod tests { #[test] diff --git a/exercises/tests/tests2.rs b/exercises/tests/tests2.rs index 044ed9e..0d981ad 100644 --- a/exercises/tests/tests2.rs +++ b/exercises/tests/tests2.rs @@ -2,6 +2,8 @@ // This test has a problem with it -- make the test compile! Make the test // pass! Make the test fail! Execute `rustlings hint tests2` for hints :) +// I AM NOT DONE + #[cfg(test)] mod tests { #[test] diff --git a/exercises/tests/tests3.rs b/exercises/tests/tests3.rs index 0f244b3..693b8aa 100644 --- a/exercises/tests/tests3.rs +++ b/exercises/tests/tests3.rs @@ -4,6 +4,8 @@ // we expect to get when we call `is_even(5)`. // Execute `rustlings hint tests3` for hints :) +// I AM NOT DONE + pub fn is_even(num: i32) -> bool { num % 2 == 0 } diff --git a/exercises/threads/threads1.rs b/exercises/threads/threads1.rs index 3308321..288ddd1 100644 --- a/exercises/threads/threads1.rs +++ b/exercises/threads/threads1.rs @@ -5,6 +5,8 @@ // of "waiting..." and the program ends without timing out when running, // you've got it :) +// I AM NOT DONE + use std::sync::Arc; use std::thread; use std::time::Duration; diff --git a/exercises/variables/variables1.rs b/exercises/variables/variables1.rs index 65452c2..5ddc37d 100644 --- a/exercises/variables/variables1.rs +++ b/exercises/variables/variables1.rs @@ -1,6 +1,13 @@ // variables1.rs // Make me compile! Execute the command `rustlings hint variables1` if you want a hint :) +// About this `I AM NOT DONE` thing: +// We sometimes encourage you to keep trying things on a given exercise, +// even after you already figured it out. If you got everything working and +// feel ready for the next exercise, you the `I AM NOT DONE` comment below. + +// I AM NOT DONE + fn main() { x = 5; println!("x has the value {}", x); diff --git a/exercises/variables/variables2.rs b/exercises/variables/variables2.rs index 388b05d..7774a8f 100644 --- a/exercises/variables/variables2.rs +++ b/exercises/variables/variables2.rs @@ -1,6 +1,8 @@ // variables2.rs // Make me compile! Execute the command `rustlings hint variables2` if you want a hint :) +// I AM NOT DONE + fn main() { let x; if x == 10 { diff --git a/exercises/variables/variables3.rs b/exercises/variables/variables3.rs index f2c9c63..07b1a52 100644 --- a/exercises/variables/variables3.rs +++ b/exercises/variables/variables3.rs @@ -1,6 +1,8 @@ // variables3.rs // Make me compile! Execute the command `rustlings hint variables3` if you want a hint :) +// I AM NOT DONE + fn main() { let x = 3; println!("Number {}", x); diff --git a/exercises/variables/variables4.rs b/exercises/variables/variables4.rs index f1ed6ef..77f1e9a 100644 --- a/exercises/variables/variables4.rs +++ b/exercises/variables/variables4.rs @@ -1,6 +1,8 @@ // variables4.rs // Make me compile! Execute the command `rustlings hint variables4` if you want a hint :) +// I AM NOT DONE + fn main() { let x: i32; println!("Number {}", x); |
