15 macro_rules!

Rust가 제공하는 강력한 매크로 시스템은 메타프로그래밍을 허용한다. 이전 챕터들에서 봤듯이, 매크로들은 함수와 유사하지만 그들의 이름은 !로 끝나고 함수 호출을 생성하는 것과 다르게, 매크로는 소스 코드에 확장되어 나머지 프로그램과 함께 컴파일 된다.

매크로들은 macro_rules! 매크로를 사용해 만들어 진다.

// `say_hello`라는 이름의 간단한 매크로.
macro_rules! say_hello {
    // `()`는 매크로가 아무 인자도 취하지 않는다는 걸 의미한다.
    () => (
        // 매크로는 이 블록 안의 내용으로 확장된다.
        println!("Hello!");
    )
}

fn main() {
    // 이 호출은 `println!("Hello");`으로 확장된다. 
    say_hello!()
}

results matching ""

    No results matching ""