■ macro_rules! 매크로를 사용해 HashMap 객체를 초기화하는 매크로를 만드는 방법을 보여준다.
▶ 예제 코드 (RS)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
use std::collections; macro_rules! map { ($($key : expr => $val : expr), *) => { { let mut hash_map = collections::HashMap::new(); $( hash_map.insert($key, $val); )* hash_map } } } fn main() { let hash_map : collections::HashMap<&str, &str> = map! [ "mon" => "월요일", "tue" => "화요일", "wed" => "수요일", "thu" => "목요일", "fri" => "금요일", "sat" => "토요일", "sun" => "일요일" ]; println!("mon = {}", hash_map["mon"]); println!("wed = {}", hash_map["wed"]); } /* mon = 월요일 wed = 수요일 */ |