Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[derive(Debug)]
- struct FizzBuzzData{
- num:u32,
- id:&'static str
- }
- #[derive(Debug)]
- struct FizzBuzzN{
- data:Vec<FizzBuzzData>,
- }
- impl FizzBuzzN{
- fn new(data:Vec<FizzBuzzData>)->Self{
- FizzBuzzN{
- data
- }
- }
- fn run(self){
- for i in 1..100{
- let mut is_multiple=false;
- for k in 0..self.data.len(){
- if(i%self.data[k].num==0){
- print!("({}/{}) ",self.data[k].id,i);
- is_multiple=true;
- }
- }
- if(is_multiple==false){
- print!("{} ",i);
- }
- }
- }
- }
- macro_rules! fizzbuzzdata_create {
- ($($num:expr,$id:expr),*) => {
- {
- let mut tmp = Vec::<FizzBuzzData>::new();
- $(
- tmp.push(FizzBuzzData{num:$num,id:$id});
- )*
- tmp
- }
- }
- }
- fn main() {
- let f = FizzBuzzN::new(
- fizzbuzzdata_create!(
- 3,"Fizz",5,"Buzz",7,"Fuga",11,"Hoge"
- )
- );
- f.run();
- }
Add Comment
Please, Sign In to add comment