diff --git a/exercises/functions/functions1.rs b/exercises/functions/functions1.rs index 31125278..a3286e47 100644 --- a/exercises/functions/functions1.rs +++ b/exercises/functions/functions1.rs @@ -2,6 +2,9 @@ // Make me compile! Execute `rustlings hint functions1` for hints :) // I AM NOT DONE +fn call_me() { + println!("Hello, world!"); +} fn main() { call_me(); diff --git a/exercises/functions/functions2.rs b/exercises/functions/functions2.rs index 5721a172..d493ca65 100644 --- a/exercises/functions/functions2.rs +++ b/exercises/functions/functions2.rs @@ -7,7 +7,7 @@ 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 ed5f839f..4c632f0a 100644 --- a/exercises/functions/functions3.rs +++ b/exercises/functions/functions3.rs @@ -4,7 +4,7 @@ // I AM NOT DONE fn main() { - call_me(); + call_me(6); } fn call_me(num: u32) { diff --git a/exercises/functions/functions4.rs b/exercises/functions/functions4.rs index 58637e4c..ac3b8ef9 100644 --- a/exercises/functions/functions4.rs +++ b/exercises/functions/functions4.rs @@ -11,7 +11,7 @@ fn main() { 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 d22aa6c8..d4ceceed 100644 --- a/exercises/functions/functions5.rs +++ b/exercises/functions/functions5.rs @@ -9,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 90867545..d2270f89 100644 --- a/exercises/if/if1.rs +++ b/exercises/if/if1.rs @@ -8,6 +8,12 @@ pub fn bigger(a: i32, b: i32) -> i32 { // - another function call // - additional variables // Execute `rustlings hint if1` for hints + if a > b { + return a + } + else { + return b + } } // Don't mind this for now :) diff --git a/exercises/if/if2.rs b/exercises/if/if2.rs index 80effbdf..11ec40af 100644 --- a/exercises/if/if2.rs +++ b/exercises/if/if2.rs @@ -9,8 +9,10 @@ pub fn fizz_if_foo(fizzish: &str) -> &str { if fizzish == "fizz" { "foo" + } else if fizzish == "fuzz"{ + "bar" } else { - 1 + "baz" } } diff --git a/exercises/intro/intro2.rs b/exercises/intro/intro2.rs index 97a073f0..0e963303 100644 --- a/exercises/intro/intro2.rs +++ b/exercises/intro/intro2.rs @@ -5,5 +5,5 @@ // I AM NOT DONE fn main() { - println!("Hello {}!"); + println!("Hello {}!", "world"); } diff --git a/exercises/move_semantics/move_semantics1.rs b/exercises/move_semantics/move_semantics1.rs index e2f5876d..007a9f3b 100644 --- a/exercises/move_semantics/move_semantics1.rs +++ b/exercises/move_semantics/move_semantics1.rs @@ -6,7 +6,7 @@ fn main() { let vec0 = Vec::new(); - let vec1 = fill_vec(vec0); + let mut vec1 = fill_vec(vec0); println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1); diff --git a/exercises/move_semantics/move_semantics2.rs b/exercises/move_semantics/move_semantics2.rs index 888dc529..62913ebc 100644 --- a/exercises/move_semantics/move_semantics2.rs +++ b/exercises/move_semantics/move_semantics2.rs @@ -5,9 +5,10 @@ // I AM NOT DONE fn main() { - let vec0 = Vec::new(); + let vec0 : Vec = Vec::new(); + let vec_ = Vec::new(); - let mut vec1 = fill_vec(vec0); + let mut vec1 = fill_vec(vec_); // Do not change the following line! println!("{} has length {} content `{:?}`", "vec0", vec0.len(), vec0); diff --git a/exercises/move_semantics/move_semantics3.rs b/exercises/move_semantics/move_semantics3.rs index 43fef74f..0557e4db 100644 --- a/exercises/move_semantics/move_semantics3.rs +++ b/exercises/move_semantics/move_semantics3.rs @@ -17,7 +17,7 @@ fn main() { println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1); } -fn fill_vec(vec: Vec) -> Vec { +fn fill_vec(mut vec: Vec) -> Vec { vec.push(22); vec.push(44); vec.push(66); diff --git a/exercises/move_semantics/move_semantics4.rs b/exercises/move_semantics/move_semantics4.rs index 2a23c710..8d118bd8 100644 --- a/exercises/move_semantics/move_semantics4.rs +++ b/exercises/move_semantics/move_semantics4.rs @@ -7,9 +7,9 @@ // I AM NOT DONE fn main() { - let vec0 = Vec::new(); + // let vec0 = Vec::new(); - let mut vec1 = fill_vec(vec0); + let mut vec1 = fill_vec(); println!("{} has length {} content `{:?}`", "vec1", vec1.len(), vec1); @@ -20,7 +20,7 @@ fn main() { // `fill_vec()` no longer takes `vec: Vec` as argument fn fill_vec() -> Vec { - let mut vec = vec; + let mut vec: Vec = Vec::new(); vec.push(22); vec.push(44); diff --git a/exercises/move_semantics/move_semantics5.rs b/exercises/move_semantics/move_semantics5.rs index c4704f9e..44e896db 100644 --- a/exercises/move_semantics/move_semantics5.rs +++ b/exercises/move_semantics/move_semantics5.rs @@ -8,8 +8,9 @@ fn main() { let mut x = 100; let y = &mut x; - let z = &mut x; *y += 100; + let z = &mut x; + *z += 1000; assert_eq!(x, 1200); } diff --git a/exercises/move_semantics/move_semantics6.rs b/exercises/move_semantics/move_semantics6.rs index 457e7ae7..bea7dfbe 100644 --- a/exercises/move_semantics/move_semantics6.rs +++ b/exercises/move_semantics/move_semantics6.rs @@ -7,19 +7,19 @@ fn main() { let data = "Rust is great!".to_string(); - get_char(data); + get_char(&data); - string_uppercase(&data); + string_uppercase(data); } // Should not take ownership -fn get_char(data: String) -> char { +fn get_char(data: &String) -> char { data.chars().last().unwrap() } // Should take ownership -fn string_uppercase(mut data: &String) { - data = &data.to_uppercase(); +fn string_uppercase(mut data: String) { + data = data.to_uppercase(); println!("{}", data); } diff --git a/exercises/variables/variables1.rs b/exercises/variables/variables1.rs index d1af8311..6b67c101 100644 --- a/exercises/variables/variables1.rs +++ b/exercises/variables/variables1.rs @@ -5,6 +5,6 @@ // 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 7774a8fb..ced90b88 100644 --- a/exercises/variables/variables2.rs +++ b/exercises/variables/variables2.rs @@ -4,7 +4,7 @@ // I AM NOT DONE fn main() { - let x; + let x = 10; if x == 10 { println!("Ten!"); } else { diff --git a/exercises/variables/variables3.rs b/exercises/variables/variables3.rs index 30ec48ff..1f13bdad 100644 --- a/exercises/variables/variables3.rs +++ b/exercises/variables/variables3.rs @@ -4,7 +4,7 @@ // 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/variables4.rs b/exercises/variables/variables4.rs index 77f1e9ab..770e27da 100644 --- a/exercises/variables/variables4.rs +++ b/exercises/variables/variables4.rs @@ -4,6 +4,6 @@ // I AM NOT DONE fn main() { - let x: i32; + let x: i32 = 100; println!("Number {}", x); } diff --git a/exercises/variables/variables5.rs b/exercises/variables/variables5.rs index 175eebb3..cd9846aa 100644 --- a/exercises/variables/variables5.rs +++ b/exercises/variables/variables5.rs @@ -6,6 +6,6 @@ fn main() { let number = "T-H-R-E-E"; // don't change this line println!("Spell a Number : {}", number); - number = 3; + let number = 3; println!("Number plus two is : {}", number + 2); } diff --git a/exercises/variables/variables6.rs b/exercises/variables/variables6.rs index 98666914..6afe3542 100644 --- a/exercises/variables/variables6.rs +++ b/exercises/variables/variables6.rs @@ -3,7 +3,7 @@ // I AM NOT DONE -const NUMBER = 3; +const NUMBER: i8 = 3; fn main() { println!("Number {}", NUMBER); }