Guest User

Untitled

a guest
Apr 26th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. use std::collections::HashMap;
  2.  
  3. #[macro_export]
  4. macro_rules! hashmap {
  5.  
  6. ( $($k:ident: $v:expr),* ) => {
  7. vec![$((stringify!($k), $v)),*]
  8. .into_iter()
  9. .collect::<HashMap<_, _>>()
  10. };
  11.  
  12. ( $($k:ident: $v:expr,)* ) => {
  13. vec![$((stringify!($k), $v)),*]
  14. .into_iter()
  15. .collect::<HashMap<_, _>>()
  16. };
  17.  
  18. ( $($k:expr => $v:expr),*) => {
  19. vec![$(($k, $v)),*]
  20. .into_iter()
  21. .collect::<HashMap<_, _>>()
  22. };
  23.  
  24. ( $($k:expr => $v:expr,)*) => {
  25. vec![$(($k, $v)),*]
  26. .into_iter()
  27. .collect::<HashMap<_, _>>()
  28. };
  29. }
  30.  
  31. fn main() {
  32. let hm = hashmap!{
  33. "name" => "cauê",
  34. "favourite_colour" => "blue. no, yel- aaaaargh!",
  35. };
  36.  
  37. let hm2 = hashmap!{
  38. name: "cauê",
  39. favourite_colour: "blue. no, yel- aaaaargh!",
  40. };
  41.  
  42. println!("{:?}", hm);
  43. println!("{:?}", hm2);
  44. }
Add Comment
Please, Sign In to add comment