रस्ट में मॉड्यूल भ्रम: एक ही प्रोजेक्ट में 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` दोनों हों।