
매크로
선언적 매크로(macro_rules!), derive 매크로, attribute 매크로, 절차적 매크로, 매크로 위생성
20 면접 질문·
Mid-Level
1Rust에서 선언적 매크로를 정의하는 데 사용되는 구문은 무엇입니까?
1
Rust에서 선언적 매크로를 정의하는 데 사용되는 구문은 무엇입니까?
답변
macro_rules! 구문은 Rust에서 선언적 매크로를 정의하는 데 사용됩니다. 이 메타프로그래밍 형식은 Rust 구문에 대한 패턴 매칭을 사용하여 컴파일 타임에 코드를 변환합니다. 선언적 매크로는 패턴을 매칭하고 그 패턴을 기반으로 코드를 생성하기 때문에 "macros by example"이라고도 불립니다.
2Rust에서 매크로를 어떻게 호출합니까?
2
Rust에서 매크로를 어떻게 호출합니까?
답변
Rust의 매크로는 이름 뒤에 느낌표를 붙이고, 이어서 괄호, 대괄호 또는 중괄호 안에 인수를 넣어 호출합니다. 이 관례는 매크로 호출을 일반 함수 호출과 시각적으로 구별할 수 있게 합니다. 예를 들어 println!("Hello") 또는 vec![1, 2, 3]은 매크로 호출입니다.
3선언적 매크로에서 표현식을 캡처하려면 어떤 fragment specifier를 사용합니까?
3
선언적 매크로에서 표현식을 캡처하려면 어떤 fragment specifier를 사용합니까?
답변
fragment specifier $e:expr는 선언적 매크로에서 Rust 표현식을 캡처합니다. fragment specifier는 매크로가 받아들일 수 있는 구문의 종류를 정의합니다. 자주 쓰이는 다른 specifier로는 식별자용 ident, 타입용 ty, token tree용 tt, 코드 블록용 block이 있습니다.
4
선언적 매크로와 절차적 매크로의 주요 차이점은 무엇입니까?
5
Rust에서 매크로 위생성(macro hygiene)이란 무엇입니까?
+17 면접 질문
기타 Rust 면접 주제
Rust 기초
Junior
25개 질문Ownership & Borrowing
Junior
22개 질문Structs & Enums
Junior
20개 질문에러 처리
Junior
18개 질문컬렉션
Junior
20개 질문모듈과 패키지
Junior
18개 질문Traits
Mid-Level
22개 질문Generics
Mid-Level
20개 질문Lifetimes
Mid-Level
20개 질문Iterators & Closures
Mid-Level
22개 질문Smart Pointers
Mid-Level
22개 질문Concurrency Basics
Mid-Level
20개 질문async/await
Mid-Level
22개 질문Testing
Mid-Level
18개 질문Cargo & Ecosystem
Mid-Level
18개 질문Pattern Matching
Mid-Level
18개 질문Serde와 직렬화
Mid-Level
20개 질문Unsafe Rust
Senior
20개 질문고급 트레잇
Senior
22개 질문고급 lifetime
Senior
20개 질문Type System
Senior
20개 질문Tokio & Async I/O
Senior
22개 질문성능 최적화
Senior
20개 질문Memory Management
Senior
20개 질문Web Frameworks
Senior
22개 질문Database Integration
Senior
20개 질문Rust 디자인 패턴
Senior
20개 질문