Rust

Macro

Macro khai báo (macro_rules!), derive macro, attribute macro, macro thủ tục, vệ sinh macro

20 câu hỏi phỏng vấn·
Mid-Level
1

Cú pháp nào được dùng để định nghĩa một macro khai báo trong Rust?

Câu trả lời

Cú pháp macro_rules! được dùng để định nghĩa macro khai báo trong Rust. Hình thức metaprogramming này sử dụng pattern matching trên cú pháp Rust để biến đổi mã tại thời điểm biên dịch. Macro khai báo còn được gọi là "macros by example" vì chúng hoạt động bằng cách khớp các mẫu và tạo ra mã dựa trên những mẫu đó.

2

Làm thế nào để gọi một macro trong Rust?

Câu trả lời

Macro trong Rust được gọi với một dấu chấm than sau tên của chúng, theo sau là các đối số trong dấu ngoặc đơn, ngoặc vuông hoặc ngoặc nhọn. Quy ước này cho phép phân biệt trực quan các lệnh gọi macro với lệnh gọi hàm thông thường. Ví dụ, println!("Hello") hoặc vec![1, 2, 3] là các lệnh gọi macro.

3

Dùng fragment specifier nào để bắt một biểu thức trong macro khai báo?

Câu trả lời

Fragment specifier $e:expr bắt một biểu thức Rust trong macro khai báo. Các fragment specifier xác định loại cú pháp mà macro có thể chấp nhận. Các specifier phổ biến khác bao gồm ident cho định danh, ty cho kiểu, tt cho token tree, và block cho khối mã.

4

Sự khác biệt chính giữa macro khai báo và macro thủ tục là gì?

5

Vệ sinh macro (macro hygiene) trong Rust là gì?

+17 câu hỏi phỏng vấn

Nắm vững Rust cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí