rust/src/doc/trpl/vectors.md
rundrop1 57e3475794 Update vectors.md
Feel silly because it's just one thing but it was bothering me that the documentation tells you what you're not going to learn now instead of linking to the item in question.  Am total noob pls assist, where is power button. :)
2015-04-13 17:14:53 -05:00

993 B

% Vectors

A vector is a dynamic or "growable" array, implemented as the standard library type Vec<T> (Where <T> is a Generic statement). Vectors always allocate their data on the heap. Vectors are to slices what String is to &str. You can create them with the vec! macro:

let v = vec![1, 2, 3]; // v: Vec<i32>

(Notice that unlike the println! macro we've used in the past, we use square brackets [] with vec!. Rust allows you to use either in either situation, this is just convention.)

There's an alternate form of vec! for repeating an initial value:

let v = vec![0; 10]; // ten zeroes

You can get the length of, iterate over, and subscript vectors just like arrays. In addition, (mutable) vectors can grow automatically:

let mut nums = vec![1, 2, 3]; // mut nums: Vec<i32>

nums.push(4);

println!("The length of nums is now {}", nums.len()); // Prints 4

Vectors have many more useful methods.