Provides a macro to select a random branch.
This crate provides the branch
and
branch_using
macro, which will
execute randomly one of the given expressions.
It is maybe best visualized by the following example:
branch!(
println!("First line."),
println!("Second line?"),
println!("Third line!"),
);
This will be turned into something similar to this:
match rand::thread_rng().gen_range(0..3) {
0 => println!("First line."),
1 => println!("Second line?"),
2 => println!("Third line!"),
_ => unreachable!(),
}
For more details see branch
and
branch_using
. The basic difference between them is,
that branch
uses rand::thread_rng()
whereas
branch_using
uses the the given rand::Rng
.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.