random_item 0.1.8

Easily reference or clone a random item from a sequential collection.
Documentation

Random Item

Get a random item out of a sequential collection.

Getting A Reference

use random_item::random_item;

let messages = Vec::from([
   String::from("Hello, "),
   String::from("fellow "),
   String::from("Rustaceans!"),
]);

let random_message = random_item(&messages);

Getting An Owned Value (Cloned)

use random_item::random_owned_item;

#[derive(PartialEq, Clone)]
struct Shape {
   sides: u32,
}

let shapes = [
   Shape { sides: 1 },
   Shape { sides: 1 },
   Shape { sides: 2 },
   Shape { sides: 3 },
   Shape { sides: 5 },
   Shape { sides: 8 },
   Shape { sides: 13 },
   Shape { sides: 21 },
];

let random_shape = random_owned_item(&shapes);