בדיקה אם ספרייה קיימת

Rust:
בדיקה אם ספרייה קיימת

איך לעשות:

ספריית התקן של ראסט (std) כוללת פונקציונליות לבדיקת קיום של ספרייה דרך המודולים std::path::Path ו-std::fs. הנה דוגמה פשוטה באמצעות הגישה הסטנדרטית של ראסט:

use std::path::Path;

fn main() {
    let path = Path::new("/path/to/directory");
    if path.exists() && path.is_dir() {
        println!("הספרייה קיימת.");
    } else {
        println!("הספרייה לא קיימת.");
    }
}

פלט לדוגמה, בהנחה שהספרייה קיימת:

הספרייה קיימת.

לצורכי תרחישים מורכבים יותר או תכונות מתקדמות (כמו פעולות מערכת קבצים אסינכרוניות), ייתכן ותשקול להשתמש בספרייה צד שלישי כמו tokio עם המודול fs האסינכרוני שלה, במיוחד אם אתה עובד בסביבת ריצה אסינכרונית. הנה איך ניתן להשיג את אותו הדבר עם tokio:

ראשית, הוסף את tokio ל-Cargo.toml שלך:

[dependencies]
tokio = { version = "1.0", features = ["full"] }

לאחר מכן, השתמש ב-tokio::fs כדי לבדוק אם ספרייה קיימת באופן אסינכרוני:

use tokio::fs;

#[tokio::main]
async fn main() {
    let path = "/path/to/directory";
    match fs::metadata(path).await {
        Ok(metadata) => {
            if metadata.is_dir() {
                println!("הספרייה קיימת.");
            } else {
                println!("הנתיב קיים אך אינו ספרייה.");
            }
        },
        Err(_) => println!("הספרייה לא קיימת."),
    }
}

פלט לדוגמה, בהנחה שהספרייה אינה קיימת:

הספרייה לא קיימת.

הדוגמאות הללו מדגישות כיצד ראסט והאקוסיסטם שלה מציעים גישות סינכרוניות ואסינכרוניות לבדיקת קיום ספריות, שמתאימות למגוון רחב של צרכים בפיתוח תוכנה.