rollup merge of #17107 : steveklabnik/uninitialized_bindings

This commit is contained in:
Alex Crichton 2014-09-09 07:39:14 -07:00
commit 456f00eb7e

View File

@ -520,10 +520,8 @@ error: aborting due to previous error
Could not compile `hello_world`.
```
Rust will not let us use a value that has not been initialized. So why let us
declare a binding without initializing it? You'd think our first example would
have errored. Well, Rust is smarter than that. Before we get to that, let's talk
about this stuff we've added to `println!`.
Rust will not let us use a value that has not been initialized. Next, let's
talk about this stuff we've added to `println!`.
If you include two curly braces (`{}`, some call them moustaches...) in your
string to print, Rust will interpret this as a request to interpolate some sort
@ -538,12 +536,6 @@ format in a more detailed manner, there are a [wide number of options
available](std/fmt/index.html). For now, we'll just stick to the default:
integers aren't very complicated to print.
So, we've cleared up all of the confusion around bindings, with one exception:
why does Rust let us declare a variable binding without an initial value if we
must initialize the binding before we use it? And how does it know that we have
or have not initialized the binding? For that, we need to learn our next
concept: `if`.
# If
Rust's take on `if` is not particularly complex, but it's much more like the
@ -582,7 +574,6 @@ if x == 5i {
This is all pretty standard. However, you can also do this:
```
let x = 5i;