book: typo fixes, wording improvements.

The text in iterators.md wasn't wrong, but it read awkwardly to my ear.
This commit is contained in:
Shmuale Mark 2015-05-12 10:47:14 -04:00 committed by Shmuale Mark
parent 67dfc177f3
commit a22b3270b8
6 changed files with 9 additions and 8 deletions

View file

@ -56,7 +56,8 @@ Character::Digit(10);
Hand::Digit;
```
Both variants are named `Digit`, but since theyre scoped to the `enum` name,
Both variants are named `Digit`, but since theyre scoped to the `enum` name
there's no ambiguity.
Not supporting these operations may seem rather limiting, but its a limitation
which we can overcome. There are two ways: by implementing equality ourselves,

View file

@ -204,7 +204,7 @@ Because these kinds of situations are relatively rare, use panics sparingly.
In certain circumstances, even though a function may fail, we may want to treat
it as a panic instead. For example, `io::stdin().read_line(&mut buffer)` returns
an `Result<usize>`, when there is an error reading the line. This allows us to
a `Result<usize>`, when there is an error reading the line. This allows us to
handle and possibly recover from error.
If we don't want to handle this error, and would rather just abort the program,

View file

@ -212,9 +212,9 @@ see why consumers matter.
As we've said before, an iterator is something that we can call the
`.next()` method on repeatedly, and it gives us a sequence of things.
Because you need to call the method, this means that iterators
are *lazy* and don't need to generate all of the values upfront.
This code, for example, does not actually generate the numbers
`1-100`, and just creates a value that represents the sequence:
can be *lazy* and not generate all of the values upfront. This code,
for example, does not actually generate the numbers `1-100`, instead
creating a value that merely represents the sequence:
```rust
let nums = 1..100;

View file

@ -41,7 +41,7 @@ With that in mind, lets learn about lifetimes.
# Lifetimes
Lending out a reference to a resource that someone else owns can be
complicated, however. For example, imagine this set of operations:
complicated. For example, imagine this set of operations:
- I acquire a handle to some kind of resource.
- I lend you a reference to the resource.

View file

@ -108,7 +108,7 @@ println!("v[0] is: {}", v[0]);
Same error: “use of moved value.” When we transfer ownership to something else,
we say that weve moved the thing we refer to. You dont need some sort of
special annotation here, its the default thing that Rust does.
special annotation here; its the default thing that Rust does.
## The details

View file

@ -82,7 +82,7 @@ Lets go over them by category:
Integer types come in two varieties: signed and unsigned. To understand the
difference, lets consider a number with four bits of size. A signed, four-bit
number would let you store numbers from `-8` to `+7`. Signed numbers use
“twos compliment representation”. An unsigned four bit number, since it does
“twos complement representation”. An unsigned four bit number, since it does
not need to store negatives, can store values from `0` to `+15`.
Unsigned types use a `u` for their category, and signed types use `i`. The `i`