Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::collections::HashMap;
- #[macro_export]
- macro_rules! hashmap {
- ( $($k:ident: $v:expr),* ) => {
- vec![$((stringify!($k), $v)),*]
- .into_iter()
- .collect::<HashMap<_, _>>()
- };
- ( $($k:ident: $v:expr,)* ) => {
- vec![$((stringify!($k), $v)),*]
- .into_iter()
- .collect::<HashMap<_, _>>()
- };
- ( $($k:expr => $v:expr),*) => {
- vec![$(($k, $v)),*]
- .into_iter()
- .collect::<HashMap<_, _>>()
- };
- ( $($k:expr => $v:expr,)*) => {
- vec![$(($k, $v)),*]
- .into_iter()
- .collect::<HashMap<_, _>>()
- };
- }
- fn main() {
- let hm = hashmap!{
- "name" => "cauê",
- "favourite_colour" => "blue. no, yel- aaaaargh!",
- };
- let hm2 = hashmap!{
- name: "cauê",
- favourite_colour: "blue. no, yel- aaaaargh!",
- };
- println!("{:?}", hm);
- println!("{:?}", hm2);
- }
Add Comment
Please, Sign In to add comment