ماذا سنتعلم؟ اليوم سنخوض أولى خطواتنا في عالم Rust، حيث سنتعلم كيفية استخدام مدير الحزم Cargo لإنشاء، بناء، وتشغيل مشروع Rust بسيط.
الخطوة 1: إنشاء مشروع Rust جديد باستخدام Cargo
Cargo هو الأداة الأساسية لإدارة مشاريع Rust. لإنشاء مشروع جديد، نستخدم الأمر cargo new.
ملاحظة تقنية: الأمر
cargo new hello_cargoلا يقوم بإنشاء مجلد المشروع فحسب، بل يقوم أيضاً بتهيئة مستودع Git افتراضي له، وإنشاء ملفCargo.tomlوملفsrc/main.rsأساسيين.
cargo new hello_cargo
cd hello_cargo
بعد تنفيذ هذه الأوامر، ستجد مجلداً جديداً باسم hello_cargo يحتوي على بنية المشروع الأساسية.
الخطوة 2: فهم بنية المشروع وملف Cargo.toml
داخل مجلد hello_cargo، ستجد ملفين مهمين: Cargo.toml و src/main.rs.
ملف Cargo.toml
هذا الملف هو بيان المشروع الخاص بك. يحتوي على بيانات وصفية حول مشروعك والتوابع (dependencies) التي يعتمد عليها.
# هذا هو ملف Cargo.toml الافتراضي
[package]
name = "hello_cargo" # اسم المشروع
version = "0.1.0" # إصدار المشروع
edition = "2021" # إصدار Rust المستخدم
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
# هنا ستضاف التوابع (المكتبات) التي سيعتمد عليها مشروعك
ملف src/main.rs
هذا هو الملف الذي يحتوي على كود مصدر تطبيقك الرئيسي.
// هذا هو الملف الافتراضي src/main.rs
fn main() { // الدالة الرئيسية التي يتم تنفيذها عند تشغيل البرنامج
println!("Hello, world!"); // طباعة "Hello, world!" إلى وحدة التحكم
}
كما ترى، Cargo يقوم بإنشاء برنامج "Hello, world!" جاهز للتشغيل افتراضياً.
الخطوة 3: بناء المشروع وتشغيله
الآن بعد أن فهمنا بنية المشروع، حان وقت بناء وتشغيل تطبيقنا.
ملاحظة تقنية: عند تشغيل
cargo runلأول مرة، يقوم Cargo تلقائياً ببناء المشروع قبل تشغيله. إذا لم تكن هناك تغييرات في الكود، فإنه يستخدم النسخة المبنية مسبقاً.
cargo build
سيقوم هذا الأمر بتجميع (compile) مشروعك وإنشاء ملف تنفيذي في مجلد target/debug/.
cargo run
سيقوم هذا الأمر ببناء وتشغيل مشروعك مباشرةً. يمكنك أيضاً تشغيل الملف التنفيذي يدوياً بعد البناء:
./target/debug/hello_cargo
الكود النهائي الكامل
بالنسبة لهذا الدرس، الكود الرئيسي موجود في src/main.rs وهو كما يلي. الأوامر هي ما قمنا بتنفيذه في الخطوات السابقة.
src/main.rs
fn main() { // الدالة الرئيسية التي يتم تنفيذها عند تشغيل البرنامج
println!("Hello, world!"); // طباعة "Hello, world!" إلى وحدة التحكم
}
النتيجة المتوقعة
عند تنفيذ الأمر cargo run، ستظهر النتيجة التالية على سطر الأوامر:
Hello, world!
هذا يؤكد أن مشروع Rust الأول الخاص بك قد تم إنشاؤه، بناؤه، وتشغيله بنجاح باستخدام Cargo.