docs: make some text changes on Section `Macros`

(1) In contrast to `that`, `so that` expresses `result` indicated by the sentence, not `reason`;
(2) `block` is an expression, and may be have an expression, so I add `optional an expression` to make more precise;
(3) When I read here, I was confused with what `the child` referred to. After modification, it would be better.
This commit is contained in:
Tang Chenglong 2016-03-26 23:59:16 +08:00
parent 346d0d5175
commit bbba872dde
1 changed files with 4 additions and 4 deletions

View File

@ -337,8 +337,8 @@ fn main() {
}
```
Instead you need to pass the variable name into the invocation, so its tagged
with the right syntax context.
Instead you need to pass the variable name into the invocation, so that its
tagged with the right syntax context.
```rust
macro_rules! foo {
@ -470,7 +470,7 @@ which syntactic form it matches.
* `ty`: a type. Examples: `i32`; `Vec<(char, String)>`; `&T`.
* `pat`: a pattern. Examples: `Some(t)`; `(17, 'a')`; `_`.
* `stmt`: a single statement. Example: `let x = 3`.
* `block`: a brace-delimited sequence of statements. Example:
* `block`: a brace-delimited sequence of statements and optional an expression. Example:
`{ log(error, "hi"); return 12; }`.
* `item`: an [item][item]. Examples: `fn foo() { }`; `struct Bar;`.
* `meta`: a "meta item", as found in attributes. Example: `cfg(target_os = "windows")`.
@ -509,7 +509,7 @@ A macro defined within the body of a single `fn`, or anywhere else not at
module scope, is visible only within that item.
If a module has the `macro_use` attribute, its macros are also visible in its
parent module after the childs `mod` item. If the parent also has `macro_use`
parent module after its `mod` item. If the parent also has `macro_use`
then the macros will be visible in the grandparent after the parents `mod`
item, and so forth.