Rust के कई मॉड्यूल फ़ाइलों में मैक्रोज़ का उपयोग कैसे करें?
नमस्ते! मैं Rust सीख रहा हूँ और मैक्रोज़ को अलग मॉड्यूल में रखने की कोशिश में एक समस्या का सामना किया। मेरे पास एक प्रोजेक्ट है जहाँ मैंने `main.rs` फ़ाइल में एक उपयोगी मैक्रो `my_println!` परिभाषित किया है। मैं इसे अन्य मॉड्यूल में उपयोग करना चाहता हूँ जो अलग फ़ाइलों में हैं।
यहाँ मेरी प्रोजेक्ट संरचना है:
```
src/
main.rs
utils/
mod.rs
helper.rs
```
`main.rs` में मैंने मैक्रो परिभाषित किया:
```rust
macro_rules! my_println {
($($arg:tt)*) => {
println!("[LOG] {}", format!($($arg)*));
};
}
mod utils;
```
`utils/mod.rs` में मैंने उपमॉड्यूल घोषित किया:
```rust
pub mod helper;
```
`utils/helper.rs` में मैं मैक्रो का उपयोग करने की कोशिश करता हूँ:
```rust
pub fn do_something() {
my_println!("Hello from helper!");
}
```
लेकिन कंपाइलर त्रुटि देता है: `error: cannot find macro 'my_println' in this scope`। मैंने पढ़ा है कि Rust में मैक्रोज़ डिफ़ॉल्ट रूप से फ़ंक्शन की तरह एक्सपोर्ट नहीं होते। कोड को सही तरीके से कैसे व्यवस्थित करूँ ताकि मैक्रो प्रोजेक्ट के सभी मॉड्यूल में उपलब्ध हो? क्या `#` का उपयोग करना आवश्यक है?