diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2016-02-21 03:00:50 +0100 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2016-02-24 21:47:58 +0100 |
| commit | df33fc352d7b6aecc0ccadbfaf56484991cb80be (patch) | |
| tree | 797f1904db1dcc203a15de5bf595af92c943fc79 | |
| parent | 43ddfbdfb2cfc63646db395751f108617f0e39b4 (diff) | |
| download | rust-df33fc352d7b6aecc0ccadbfaf56484991cb80be.tar.gz rust-df33fc352d7b6aecc0ccadbfaf56484991cb80be.zip | |
Add more explanation on vec type
| -rw-r--r-- | src/libcollections/vec.rs | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/libcollections/vec.rs b/src/libcollections/vec.rs index 49c35520833..ae442e155c0 100644 --- a/src/libcollections/vec.rs +++ b/src/libcollections/vec.rs @@ -135,6 +135,49 @@ use super::range::RangeArgument; /// } /// ``` /// +/// # Indexing +/// +/// The Vec type allows to access values by index, because it implements the +/// `Index` trait. An example will be more explicit: +/// +/// ``` +/// let v = vec!(0, 2, 4, 6); +/// println!("{}", v[1]); // it will display '2' +/// ``` +/// +/// However be careful: if you try to access an index which isn't in the Vec, +/// your software will panic! You cannot do this: +/// +/// ```ignore +/// let v = vec!(0, 2, 4, 6); +/// println!("{}", v[6]); // it will panic! +/// ``` +/// +/// In conclusion: always check if the index you want to get really exists +/// before doing it. +/// +/// # Slicing +/// +/// A Vec can be mutable. Slices, on the other hand, are read-only objects. +/// To get a slice, use "&". Example: +/// +/// ``` +/// fn read_slice(slice: &[usize]) { +/// // ... +/// } +/// +/// let v = vec!(0, 1); +/// read_slice(&v); +/// +/// // ... and that's all! +/// // you can also do it like this: +/// let x : &[usize] = &v; +/// ``` +/// +/// In Rust, it's more common to pass slices as arguments rather than vectors +/// when you just want to provide a read access. The same goes for String and +/// &str. +/// /// # Capacity and reallocation /// /// The capacity of a vector is the amount of space allocated for any future |
