diff --git a/exercises/variables/variables5.rs b/exercises/variables/variables5.rs new file mode 100644 index 00000000..47a68a55 --- /dev/null +++ b/exercises/variables/variables5.rs @@ -0,0 +1,11 @@ +// variables5.rs +// Make me compile! Execute the command `rustlings hint variables5` if you want a hint :) + +// I AM NOT DONE + +fn main() { + let number = "3"; + println!("Number {}", number); + number = 3; + println!("Number {}", number); +} diff --git a/info.toml b/info.toml index 3ca1824b..2e6b0b41 100644 --- a/info.toml +++ b/info.toml @@ -41,6 +41,20 @@ value. We can't print out something that isn't there; try giving x a value! This is an error that can cause bugs that's very easy to make in any programming language -- thankfully the Rust compiler has caught this for us!""" +[[exercises]] +name = "variables5" +path = "exercises/variables/variables5.rs" +mode = "compile" +hint = """ +In variables3 we already learned how to make an immutable variable mutable +using a special keyword. Unfortunately this doesn't help us much in this exercise +because we want to assign a different typed value to an existing variable. Sometimes +you may also like to reuse existing variable names because you are just converting +values to different types like in this exercise. +Fortunately Rust has a powerful solution to this problem: 'Shadowing'! +You can read more about 'Shadowing' in the book's section 'Variables and Mutability'. +Try to solve this exercise afterwards using this technique.""" + # IF [[exercises]]