Rust

매크로

선언적 매크로(macro_rules!), derive 매크로, attribute 매크로, 절차적 매크로, 매크로 위생성

20 면접 질문·
Mid-Level
1

Rust에서 선언적 매크로를 정의하는 데 사용되는 구문은 무엇입니까?

답변

macro_rules! 구문은 Rust에서 선언적 매크로를 정의하는 데 사용됩니다. 이 메타프로그래밍 형식은 Rust 구문에 대한 패턴 매칭을 사용하여 컴파일 타임에 코드를 변환합니다. 선언적 매크로는 패턴을 매칭하고 그 패턴을 기반으로 코드를 생성하기 때문에 "macros by example"이라고도 불립니다.

2

Rust에서 매크로를 어떻게 호출합니까?

답변

Rust의 매크로는 이름 뒤에 느낌표를 붙이고, 이어서 괄호, 대괄호 또는 중괄호 안에 인수를 넣어 호출합니다. 이 관례는 매크로 호출을 일반 함수 호출과 시각적으로 구별할 수 있게 합니다. 예를 들어 println!("Hello") 또는 vec![1, 2, 3]은 매크로 호출입니다.

3

선언적 매크로에서 표현식을 캡처하려면 어떤 fragment specifier를 사용합니까?

답변

fragment specifier $e:expr는 선언적 매크로에서 Rust 표현식을 캡처합니다. fragment specifier는 매크로가 받아들일 수 있는 구문의 종류를 정의합니다. 자주 쓰이는 다른 specifier로는 식별자용 ident, 타입용 ty, token tree용 tt, 코드 블록용 block이 있습니다.

4

선언적 매크로와 절차적 매크로의 주요 차이점은 무엇입니까?

5

Rust에서 매크로 위생성(macro hygiene)이란 무엇입니까?

+17 면접 질문

다음 면접을 위해 Rust을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기