۱۱

Cargo و Crates

آشنایی با مدیر بسته و سیستم ساخت Rust و استفاده از کتابخانه‌های دیگران.

Cargo: آچار فرانسه Rust

`Cargo` قلب تپنده اکوسیستم Rust هست. این ابزار چندتا کار مهم رو انجام می‌ده:

  • ساخت پروژه (`cargo new`): یه پروژه جدید با ساختار استاندارد برامون می‌سازه.
  • ساخت و کامپایل (`cargo build`): کدهامون رو کامپایل می‌کنه.
  • اجرای پروژه (`cargo run`): کد رو کامپایل و بلافاصله اجرا می‌کنه.
  • اجرای تست‌ها (`cargo test`): تست‌هایی که نوشتیم رو اجرا می‌کنه.
  • مدیریت وابستگی‌ها: کتابخونه‌های خارجی (Crates) رو دانلود و مدیریت می‌کنه.

Crates: کتابخانه‌های آماده

`Crate` به یه پکیج یا کتابخونه در Rust گفته می‌شه. مخزن اصلی این کتابخونه‌ها سایت crates.io هست. برای استفاده از یه Crate، فقط کافیه اسم و ورژنش رو به فایل `Cargo.toml` پروژه‌مون اضافه کنیم.

مثلاً بیاین از کریت `rand` برای تولید یه عدد تصادفی استفاده کنیم.

Cargo.toml
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"

[dependencies]
rand = "0.8.5" # این خط رو اضافه می‌کنیم
src/main.rs
use rand::Rng; // استفاده از کریت

fn main() {
    let secret_number = rand::thread_rng().gen_range(1..=100);
    println!("The secret number is: {}", secret_number);
}

وقتی `cargo run` رو اجرا می‌کنید، Cargo به صورت خودکار کریت `rand` و وابستگی‌هاش رو دانلود و کامپایل می‌کنه. به همین راحتی!