
มาโคร
มาโครเชิงประกาศ (macro_rules!), derive macros, attribute macros, มาโครเชิงกระบวนการ, สุขลักษณะของมาโคร
1ไวยากรณ์ใดที่ใช้ในการกำหนด declarative macro ใน Rust?
ไวยากรณ์ใดที่ใช้ในการกำหนด declarative macro ใน Rust?
คำตอบ
ไวยากรณ์ macro_rules! ใช้ในการกำหนด declarative macro ใน Rust รูปแบบ metaprogramming นี้ใช้ pattern matching บนไวยากรณ์ Rust เพื่อแปลงโค้ดในเวลาคอมไพล์ declarative macro ยังถูกเรียกว่า "macros by example" เพราะทำงานโดยการจับคู่รูปแบบและสร้างโค้ดจากรูปแบบเหล่านั้น
2จะเรียกใช้มาโครใน Rust ได้อย่างไร?
จะเรียกใช้มาโครใน Rust ได้อย่างไร?
คำตอบ
มาโครใน Rust ถูกเรียกใช้ด้วยเครื่องหมายอัศเจรีย์หลังชื่อ ตามด้วยอาร์กิวเมนต์ในวงเล็บ วงเล็บเหลี่ยม หรือวงเล็บปีกกา ข้อกำหนดนี้ช่วยให้แยกแยะการเรียกมาโครจากการเรียกฟังก์ชันปกติได้ด้วยสายตา ตัวอย่างเช่น println!("Hello") หรือ vec![1, 2, 3] เป็นการเรียกใช้มาโคร
3ใช้ fragment specifier ใดเพื่อจับ expression ใน declarative macro?
ใช้ fragment specifier ใดเพื่อจับ expression ใน declarative macro?
คำตอบ
fragment specifier $e:expr จับ expression ของ Rust ใน declarative macro fragment specifier กำหนดประเภทของไวยากรณ์ที่มาโครสามารถรับได้ specifier ทั่วไปอื่น ๆ ได้แก่ ident สำหรับ identifier, ty สำหรับ type, tt สำหรับ token tree และ block สำหรับบล็อกโค้ด
ความแตกต่างหลักระหว่าง declarative macro กับ procedural macro คืออะไร?
macro hygiene ใน Rust คืออะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Rust อื่นๆ
พื้นฐาน Rust
Ownership & Borrowing
Structs & Enums
การจัดการข้อผิดพลาด
คอลเลกชัน
โมดูลและแพ็กเกจ
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Serde และการ Serialization
Unsafe Rust
Trait ขั้นสูง
Lifetime ขั้นสูง
Type System
Tokio & Async I/O
การเพิ่มประสิทธิภาพ
Memory Management
Web Frameworks
Database Integration
Design Pattern ของ Rust
เชี่ยวชาญ Rust สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี