Guest User

Untitled

a guest
Jan 6th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #[derive(Debug)]
  2. struct FizzBuzzData{
  3. num:u32,
  4. id:&'static str
  5. }
  6.  
  7. #[derive(Debug)]
  8. struct FizzBuzzN{
  9. data:Vec<FizzBuzzData>,
  10. }
  11.  
  12. impl FizzBuzzN{
  13. fn new(data:Vec<FizzBuzzData>)->Self{
  14. FizzBuzzN{
  15. data
  16. }
  17. }
  18. fn run(self){
  19. for i in 1..100{
  20. let mut is_multiple=false;
  21. for k in 0..self.data.len(){
  22. if(i%self.data[k].num==0){
  23. print!("({}/{}) ",self.data[k].id,i);
  24. is_multiple=true;
  25. }
  26. }
  27. if(is_multiple==false){
  28. print!("{} ",i);
  29. }
  30. }
  31. }
  32. }
  33.  
  34. macro_rules! fizzbuzzdata_create {
  35. ($($num:expr,$id:expr),*) => {
  36. {
  37. let mut tmp = Vec::<FizzBuzzData>::new();
  38. $(
  39. tmp.push(FizzBuzzData{num:$num,id:$id});
  40. )*
  41. tmp
  42. }
  43. }
  44. }
  45.  
  46. fn main() {
  47. let f = FizzBuzzN::new(
  48. fizzbuzzdata_create!(
  49. 3,"Fizz",5,"Buzz",7,"Fuga",11,"Hoge"
  50. )
  51. );
  52.  
  53. f.run();
  54. }
Add Comment
Please, Sign In to add comment