23 wiersze
621 B
Rust
23 wiersze
621 B
Rust
//-- #########################
|
|
//-- Task: Implementing repeats
|
|
//-- Author: Vigneshwer.D
|
|
//-- Version: 1.0.0
|
|
//-- Date: 28 March 17
|
|
//-- #########################
|
|
|
|
// `min!` will calculate the minimum of any number of arguments.
|
|
macro_rules! find_min {
|
|
// Base case:
|
|
($x:expr) => ($x);
|
|
// `$x` followed by at least one `$y,`
|
|
($x:expr, $($y:expr),+) => (
|
|
// Call `find_min!` on the tail `$y`
|
|
std::cmp::min($x, find_min!($($y),+))
|
|
)
|
|
}
|
|
|
|
fn main() {
|
|
println!("{}", find_min!(1u32));
|
|
println!("{}", find_min!(1u32 + 2 , 2u32));
|
|
println!("{}", find_min!(5u32, 2u32 * 3, 4u32));
|
|
} |