diff --git a/exercises/README.md b/exercises/README.md index c7effa9..40740ae 100644 --- a/exercises/README.md +++ b/exercises/README.md @@ -1,4 +1,4 @@ -# Exercise to Book Chapter mapping +# Exercise to Book Chapter mappingd | Exercise | Book Chapter | | ---------------------- | ------------------- | diff --git a/exercises/functions/functions1.rs b/exercises/functions/functions1.rs index 40ed9a0..d01d710 100644 --- a/exercises/functions/functions1.rs +++ b/exercises/functions/functions1.rs @@ -1,10 +1,11 @@ // functions1.rs -// -// Execute `rustlings hint functions1` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint functions1` or use the `hint` watch subcommand for a hint. -// I AM NOT DONE + +fn call_me(){ + println!("Func1:hello world") +} fn main() { call_me(); } diff --git a/exercises/functions/functions2.rs b/exercises/functions/functions2.rs index 5154f34..a40777f 100644 --- a/exercises/functions/functions2.rs +++ b/exercises/functions/functions2.rs @@ -1,15 +1,13 @@ // functions2.rs -// -// Execute `rustlings hint functions2` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint functions2` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { call_me(3); } -fn call_me(num:) { +fn call_me(num:i32) { for i in 0..num { println!("Ring! Call number {}", i + 1); } diff --git a/exercises/functions/functions3.rs b/exercises/functions/functions3.rs index 74f44d6..dd6931b 100644 --- a/exercises/functions/functions3.rs +++ b/exercises/functions/functions3.rs @@ -1,12 +1,10 @@ // functions3.rs -// -// Execute `rustlings hint functions3` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint functions3` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { - call_me(); + call_me(1); } fn call_me(num: u32) { diff --git a/exercises/functions/functions4.rs b/exercises/functions/functions4.rs index 77c4b2a..9e46c48 100644 --- a/exercises/functions/functions4.rs +++ b/exercises/functions/functions4.rs @@ -1,21 +1,20 @@ // functions4.rs -// -// This store is having a sale where if the price is an even number, you get 10 -// Rustbucks off, but if it's an odd number, it's 3 Rustbucks off. (Don't worry -// about the function bodies themselves, we're only interested in the signatures -// for now. If anything, this is a good way to peek ahead to future exercises!) -// -// Execute `rustlings hint functions4` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint functions4` or use the `hint` watch subcommand for a hint. + +// This store is having a sale where if the price is an even number, you get +// 10 Rustbucks off, but if it's an odd number, it's 3 Rustbucks off. +// (Don't worry about the function bodies themselves, we're only interested +// in the signatures for now. If anything, this is a good way to peek ahead +// to future exercises!) + -// I AM NOT DONE fn main() { let original_price = 51; println!("Your sale price is {}", sale_price(original_price)); } -fn sale_price(price: i32) -> { +fn sale_price(price: i32) -> i32 { if is_even(price) { price - 10 } else { diff --git a/exercises/functions/functions5.rs b/exercises/functions/functions5.rs index f1b63f4..3da5172 100644 --- a/exercises/functions/functions5.rs +++ b/exercises/functions/functions5.rs @@ -1,9 +1,7 @@ // functions5.rs -// -// Execute `rustlings hint functions5` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint functions5` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { let answer = square(3); @@ -11,5 +9,5 @@ fn main() { } fn square(num: i32) -> i32 { - num * num; + num * num } diff --git a/exercises/if/if1.rs b/exercises/if/if1.rs index d8108a0..69a89b8 100644 --- a/exercises/if/if1.rs +++ b/exercises/if/if1.rs @@ -1,14 +1,17 @@ // if1.rs -// // Execute `rustlings hint if1` or use the `hint` watch subcommand for a hint. -// I AM NOT DONE pub fn bigger(a: i32, b: i32) -> i32 { // Complete this function to return the bigger number! // Do not use: // - another function call // - additional variables + if a>b{ + a + }else{ + b + } } // Don't mind this for now :) diff --git a/exercises/if/if2.rs b/exercises/if/if2.rs index f512f13..70ac1fd 100644 --- a/exercises/if/if2.rs +++ b/exercises/if/if2.rs @@ -1,17 +1,18 @@ // if2.rs -// + // Step 1: Make me compile! // Step 2: Get the bar_for_fuzz and default_to_baz tests passing! -// // Execute `rustlings hint if2` or use the `hint` watch subcommand for a hint. -// I AM NOT DONE + pub fn foo_if_fizz(fizzish: &str) -> &str { if fizzish == "fizz" { "foo" - } else { - 1 + } else if fizzish == "fuzz" { + "bar" + }else{ + "baz" } } diff --git a/exercises/if/if3.rs b/exercises/if/if3.rs index 73a7025..de25267 100644 --- a/exercises/if/if3.rs +++ b/exercises/if/if3.rs @@ -2,17 +2,17 @@ // // Execute `rustlings hint if3` or use the `hint` watch subcommand for a hint. -// I AM NOT DONE + pub fn animal_habitat(animal: &str) -> &'static str { let identifier = if animal == "crab" { 1 } else if animal == "gopher" { - 2.0 + 2 } else if animal == "snake" { 3 } else { - "Unknown" + 4 }; // DO NOT CHANGE THIS STATEMENT BELOW diff --git a/exercises/intro/intro1.rs b/exercises/intro/intro1.rs index 6bb098a..1901f94 100644 --- a/exercises/intro/intro1.rs +++ b/exercises/intro/intro1.rs @@ -1,21 +1,18 @@ // intro1.rs -// // 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, remove the `I AM NOT DONE` comment below. +// Execute `rustlings hint intro1` or use the `hint` watch subcommand for a hint. // -// If you're running this using `rustlings watch`: The exercise file will be -// reloaded when you change one of the lines below! Try adding a `println!` -// line, or try changing what it outputs in your terminal. Try removing a -// semicolon and see what happens! -// -// Execute `rustlings hint intro1` or use the `hint` watch subcommand for a -// hint. +// If you're running this using `rustlings watch`: The exercise file will be reloaded +// when you change one of the lines below! Try adding a `println!` line, or try changing +// what it outputs in your terminal. Try removing a semicolon and see what happens! + fn main() { - println!("Hello and"); + println!("Hello adajo!"); println!(r#" welcome to... "#); println!(r#" _ _ _ "#); println!(r#" _ __ _ _ ___| |_| (_)_ __ __ _ ___ "#); @@ -29,12 +26,5 @@ fn main() { println!("solve the exercises. Good luck!"); println!(); println!("The source for this exercise is in `exercises/intro/intro1.rs`. Have a look!"); - println!( - "Going forward, the source of the exercises will always be in the success/failure output." - ); - println!(); - println!( - "If you want to use rust-analyzer, Rust's LSP implementation, make sure your editor is set" - ); - println!("up, and then run `rustlings lsp` before continuing.") + println!("Going forward, the source of the exercises will always be in the success/failure output."); } diff --git a/exercises/intro/intro2.rs b/exercises/intro/intro2.rs index 990b20f..d8ec003 100644 --- a/exercises/intro/intro2.rs +++ b/exercises/intro/intro2.rs @@ -1,12 +1,9 @@ // intro2.rs -// // Make the code print a greeting to the world. -// -// Execute `rustlings hint intro2` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint intro2` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { - println!("Hello {}!"); + println!("Hello {}!","dahsdioahsdoafb"); } diff --git a/exercises/quiz1.rs b/exercises/quiz1.rs index a9904b8..ba35706 100644 --- a/exercises/quiz1.rs +++ b/exercises/quiz1.rs @@ -1,22 +1,21 @@ // quiz1.rs -// // This is a quiz for the following sections: // - Variables // - Functions // - If -// + // Mary is buying apples. The price of an apple is calculated as follows: // - An apple costs 2 rustbucks. // - If Mary buys more than 40 apples, each apple only costs 1 rustbuck! -// Write a function that calculates the price of an order of apples given the -// quantity bought. No hints this time! -// -// No hints this time ;) +// Write a function that calculates the price of an order of apples given +// the quantity bought. No hints this time! + -// I AM NOT DONE // Put your function here! -// fn calculate_price_of_apples { +fn calculate_price_of_apples(num:u32)->u32 { + if num<=40 { num*2 } else { num } +} // Don't modify this function! #[test] diff --git a/exercises/variables/README.md b/exercises/variables/README.md index 7964ff2..11a7a78 100644 --- a/exercises/variables/README.md +++ b/exercises/variables/README.md @@ -2,7 +2,7 @@ In Rust, variables are immutable by default. When a variable is immutable, once a value is bound to a name, you can’t change that value. -You can make them mutable by adding `mut` in front of the variable name. +You can make them mutable by adding mut in front of the variable name. ## Further information diff --git a/exercises/variables/variables1.rs b/exercises/variables/variables1.rs index b3e089a..b0ad72d 100644 --- a/exercises/variables/variables1.rs +++ b/exercises/variables/variables1.rs @@ -1,13 +1,9 @@ // variables1.rs -// // Make me compile! -// -// Execute `rustlings hint variables1` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint variables1` or use the `hint` watch subcommand for a hint. -// I AM NOT DONE fn main() { - x = 5; + let x = 5; println!("x has the value {}", x); } diff --git a/exercises/variables/variables2.rs b/exercises/variables/variables2.rs index e1c23ed..1e38130 100644 --- a/exercises/variables/variables2.rs +++ b/exercises/variables/variables2.rs @@ -1,12 +1,10 @@ // variables2.rs -// -// Execute `rustlings hint variables2` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint variables2` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { - let x; + let x:i32=42; if x == 10 { println!("x is ten!"); } else { diff --git a/exercises/variables/variables3.rs b/exercises/variables/variables3.rs index 86bed41..b64d8fd 100644 --- a/exercises/variables/variables3.rs +++ b/exercises/variables/variables3.rs @@ -1,11 +1,9 @@ // variables3.rs -// -// Execute `rustlings hint variables3` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint variables3` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { - let x: i32; + let x: i32=10; println!("Number {}", x); } diff --git a/exercises/variables/variables4.rs b/exercises/variables/variables4.rs index 5394f39..a6e5457 100644 --- a/exercises/variables/variables4.rs +++ b/exercises/variables/variables4.rs @@ -1,12 +1,10 @@ // variables4.rs -// -// Execute `rustlings hint variables4` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint variables4` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { - let x = 3; + let mut x = 3; println!("Number {}", x); x = 5; // don't change this line println!("Number {}", x); diff --git a/exercises/variables/variables5.rs b/exercises/variables/variables5.rs index a29b38b..14aec8c 100644 --- a/exercises/variables/variables5.rs +++ b/exercises/variables/variables5.rs @@ -1,13 +1,11 @@ // variables5.rs -// -// Execute `rustlings hint variables5` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint variables5` or use the `hint` watch subcommand for a hint. + -// I AM NOT DONE fn main() { let number = "T-H-R-E-E"; // don't change this line println!("Spell a Number : {}", number); - number = 3; // don't rename this variable + let number = 3; // don't rename this variable println!("Number plus two is : {}", number + 2); } diff --git a/exercises/variables/variables6.rs b/exercises/variables/variables6.rs index 853183b..b11c799 100644 --- a/exercises/variables/variables6.rs +++ b/exercises/variables/variables6.rs @@ -1,11 +1,9 @@ // variables6.rs -// -// Execute `rustlings hint variables6` or use the `hint` watch subcommand for a -// hint. +// Execute `rustlings hint variables6` or use the `hint` watch subcommand for a hint. -// I AM NOT DONE -const NUMBER = 3; + +const NUMBER:i32 = 3; fn main() { println!("Number {}", NUMBER); } diff --git a/temp_13292_ThreadId1.exe b/temp_13292_ThreadId1.exe new file mode 100644 index 0000000..74edff3 Binary files /dev/null and b/temp_13292_ThreadId1.exe differ