# Function rand::seq::sample_slice [−] [src]

    pub fn sample_slice<R, T>(rng: &mut R, slice: &[T], amount: usize) -> Vec<T> where
        R: Rng,
        T: Clone,

Randomly sample exactly `amount` values from `slice`.

The values are non-repeating and in random order.

This implementation uses `O(amount)` time and memory.

Panics if `amount > slice.len()`

# Example

    use rand::{thread_rng, seq};

    let mut rng = thread_rng();
    let values = vec![5, 6, 1, 3, 4, 6, 7];
    println!("{:?}", seq::sample_slice(&mut rng, &values, 3));

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)