diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-02-13 14:36:16 -0500 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-02-13 14:36:16 -0500 |
| commit | 6647d8306e01713d2da1de4c20946773f6289b57 (patch) | |
| tree | 7fb1216e2e4ae2cf7a0f6d28a1f0bcf1c22402cd | |
| parent | cf636c233dfeef5abf0de8fb35e23c0a161810d2 (diff) | |
| download | rust-6647d8306e01713d2da1de4c20946773f6289b57.tar.gz rust-6647d8306e01713d2da1de4c20946773f6289b57.zip | |
Mention type placeholders in the book.
Fixes #12891.
| -rw-r--r-- | src/doc/trpl/iterators.md | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/doc/trpl/iterators.md b/src/doc/trpl/iterators.md index 75b3f8b06fc..738a28b428a 100644 --- a/src/doc/trpl/iterators.md +++ b/src/doc/trpl/iterators.md @@ -132,7 +132,16 @@ let one_to_one_hundred = range(1, 101).collect::<Vec<i32>>(); ``` If you remember, the `::<>` syntax allows us to give a type hint, -and so we tell it that we want a vector of integers. +and so we tell it that we want a vector of integers. You don't always +need to use the whole type, though. Using a `_` will let you provide +a partial hint: + +```rust +let one_to_one_hundred = range(1, 101).collect::<Vec<_>>(); +``` + +This says "Collect into a `Vec<T>`, please, but infer what the `T` is for me." +`_` is sometimes called a "type placeholder" for this reason. `collect()` is the most common consumer, but there are others too. `find()` is one: |
