| Crates.io | weighted_random_list |
| lib.rs | weighted_random_list |
| version | 0.1.1 |
| created_at | 2019-04-08 15:10:02.129265+00 |
| updated_at | 2019-04-08 15:12:39.209443+00 |
| description | A Vec |
| homepage | https://gitlab.com/dns2utf8/weighted_random_list |
| repository | https://gitlab.com/dns2utf8/weighted_random_list |
| max_upload_size | |
| id | 126608 |
| size | 28,499 |
A Vec
extern crate weighted_random_list;
use weighted_random_list::WeightedRandomList;
fn main() {
let list = [
(1, "https://source.example.net/archive"),
(10, "https://mirror-slow0.example.net/archive"),
(10, "https://mirror-slow1.example.net/archive"),
(100, "https://mirror-fast.example.net/archive"),
];
let mirrors = list.iter()
.map(|(weight, url)| (*weight, url.to_string()))
.collect::<WeightedRandomList<String>>();
let random_choice = mirrors.get_random();
println!("Using {:?} this time", random_choice);
}