mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 18:06:44 +01:00
docs: Call () 'unit' instead of 'nil'
This commit is contained in:
parent
d0893fe219
commit
c8ee49a5b6
@ -246,7 +246,7 @@ define a struct type with the same contents, and declare
|
||||
`gettimeofday` to take a pointer to such a struct.
|
||||
|
||||
The second argument to `gettimeofday` (the time zone) is not used by
|
||||
this program, so it simply declares it to be a pointer to the nil
|
||||
this program, so it simply declares it to be a pointer to the unit
|
||||
type. Since all null pointers have the same representation regardless of
|
||||
their referent type, this is safe.
|
||||
|
||||
|
@ -294,11 +294,11 @@ are not semicolons in the blocks of the second snippet. This is
|
||||
important; the lack of a semicolon after the last statement in a
|
||||
braced block gives the whole block the value of that last expression.
|
||||
|
||||
Put another way, the semicolon in Rust *ignores the value of an expression*.
|
||||
Thus, if the branches of the `if` had looked like `{ 4; }`, the above example
|
||||
would simply assign `()` (nil or void) to `price`. But without the semicolon, each
|
||||
branch has a different value, and `price` gets the value of the branch that
|
||||
was taken.
|
||||
Put another way, the semicolon in Rust *ignores the value of an
|
||||
expression*. Thus, if the branches of the `if` had looked like `{ 4; }`,
|
||||
the above example would simply assign `()` (unit or void) to
|
||||
`price`. But without the semicolon, each branch has a different value,
|
||||
and `price` gets the value of the branch that was taken.
|
||||
|
||||
In short, everything that's not a declaration (`let` for variables,
|
||||
`fn` for functions, et cetera) is an expression, including function bodies.
|
||||
@ -839,7 +839,7 @@ fn point_from_direction(dir: Direction) -> Point {
|
||||
Tuples in Rust behave exactly like structs, except that their fields
|
||||
do not have names (and can thus not be accessed with dot notation).
|
||||
Tuples can have any arity except for 0 or 1 (though you may consider
|
||||
nil, `()`, as the empty tuple if you like).
|
||||
unit, `()`, as the empty tuple if you like).
|
||||
|
||||
~~~~
|
||||
let mytup: (int, int, float) = (10, 20, 30.0);
|
||||
@ -891,7 +891,7 @@ fn int_to_str(i: int) -> ~str {
|
||||
}
|
||||
~~~~
|
||||
|
||||
Functions that do not return a value are said to return nil, `()`,
|
||||
Functions that do not return a value are said to return unit, `()`,
|
||||
and both the return type and the return value may be omitted from
|
||||
the definition. The following two functions are equivalent.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user