Avatar ·

रस्ट में मॉड्यूल भ्रम: एक ही प्रोजेक्ट में main.rs और lib.rs

सभी को नमस्ते! मैं रस्ट में नया हूँ और जब प्रोजेक्ट में एक साथ `main.rs` और `lib.rs` होते हैं तो मॉड्यूल को समझ नहीं पा रहा हूँ। मेरे पास ऐसा प्रोजेक्ट है: ``` my_project/ ├── Cargo.toml ├── src/ │ ├── main.rs │ └── lib.rs ``` `lib.rs` में मैंने `utils` मॉड्यूल घोषित किया: ```rust // lib.rs mod utils; pub fn greet() { println!("Hello from lib!"); } ``` और `utils.rs` में मेरे पास `add` function है: ```rust // utils.rs pub fn add(a: i32, b: i32) -> i32 { a + b } ``` `main.rs` में मैं `lib.rs` से `greet` function और `utils` मॉड्यूल से `add` function को कॉल करने की कोशिश कर रहा हूँ: ```rust // main.rs fn main() { greet(); // error println!("2 + 3 = {}", utils::add(2, 3)); // error भी } ``` कंपाइलर कहता है: "cannot find function `greet` in this scope" और "unresolved import `utils`"। मैंने सोचा था कि अगर files एक ही `src` folder में हैं, तो वे एक-दूसरे को स्वचालित रूप से देखेंगी। लेकिन ऐसा नहीं है। कृपया बताएं कि रस्ट में मॉड्यूल को सही तरीके से कैसे व्यवस्थित करें जब `main.rs` और `lib.rs` दोनों हों।