الارتباك مع الوحدات في Rust: main.rs و lib.rs في مشروع واحد
مرحباً بالجميع! أنا مبتدئ في Rust ولا أستطيع فهم الوحدات عندما يكون في المشروع `main.rs` و `lib.rs` معاً.
لدي مشروع مثل هذا:
```
my_project/
├── Cargo.toml
├── src/
│ ├── main.rs
│ └── lib.rs
```
في `lib.rs` أعلنت عن module `utils`:
```rust
// lib.rs
mod utils;
pub fn greet() {
println!("Hello from lib!");
}
```
وفي `utils.rs` لدي function `add`:
```rust
// utils.rs
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
```
في `main.rs` أحاول استدعاء function `greet` من `lib.rs` و function `add` من module `utils`:
```rust
// main.rs
fn main() {
greet(); // خطأ
println!("2 + 3 = {}", utils::add(2, 3)); // خطأ أيضاً
}
```
المترجم يشتكي: "cannot find function `greet` in this scope" و "unresolved import `utils`". ظننت أنه إذا كانت الملفات موجودة في نفس المجلد `src`، فإنها ترى بعضها البعض تلقائياً. لكن هذا غير صحيح. أرشدوني كيف أنظم الوحدات في Rust بشكل صحيح عندما يكون هناك