مراجعة - محلل أوامر بسيط
جزء من قسم Logic & Flow في رحلة Rust على Coddy — الدرس 6 من 66.
التحدي
سهلستتلقى سلسلة نصية للأمر كمدخل. اقرأ المدخلات واستخدم تقنيات التحكم في التدفق التي تعلمتها لتحليل الأوامر المختلفة والاستجابة لها.
المتطلبات:
- اقرأ سلسلة نصية للأمر من المدخلات
- استخدم تعبير
matchللتعامل مع الأوامر التالية:"start"← اطبع"System starting...""stop"← اطبع"System stopping...""pause"أو"wait"← اطبع"System paused""status"← اطبع"System running"- أي أمر آخر ← اطبع
"Unknown command"
المدخلات: سلسلة نصية واحدة للأمر
المخرجات: اطبع الاستجابة المناسبة بناءً على الأمر
جرّب بنفسك
use std::io;
fn main() {
// قراءة الأمر من المدخلات
let mut command = String::new();
io::stdin().read_line(&mut command).expect("Failed to read line");
let command = command.trim();
// TODO: اكتب الكود الخاص بك أدناه
// استخدم تعبير match للتعامل مع الأوامر المختلفة
}جميع دروس Logic & Flow
1تدفق التحكم المتقدم
تعبير 'match'مطابقة قيم متعددةمطابقة النطاقاتتعبير 'if let'الحلقات التكرارية كتعبيراتمراجعة - محلل أوامر بسيط4تجميع البيانات باستخدام Structs
ما هو الـ Struct؟نظرة عامة على الـ Structsالوصول إلى حقول الـ Structالـ Structs القابلة للتعديلالـ Structs كمعاملات للدوالالـ Tuple Structsمراجعة - إنشاء Book Struct7معالجة الأخطاء باستخدام 'Result'
ما هو 'Result'؟استخدام 'match' مع 'Result'is_ok() و is_err()اختصارات: unwrap و expectعامل علامة الاستفهام '?'تحويل السلاسل النصية إلى أرقامملخص - دالة القسمة الآمنة10الـ Closures والدوال المجهولة
ما هو الـ Closure؟تعريف Closure بسيطالـ Closures مع المعاملاتالتقاط البيئة المحيطةملخص - Closure الجامع البسيط2مقدمة في الـ Vectors
ما هو الـ Vector؟إنشاء Vectorإضافة عناصر باستخدام pushالوصول إلى عناصر الـ Vectorالتكرار عبر الـ Vectorالتكرار القابل للتعديل (Mutable Iteration)إزالة العناصرمراجعة - متتبع نقاط بسيط5أزواج (المفتاح والقيمة) مع Hash Maps
ما هو Hash Map؟إنشاء Hash Mapإدراج أزواج (المفتاح والقيمة)الوصول إلى القيمالتكرار عبر Hash Mapتحديث قيمةإزالة زوجملخص - عداد الكلمات6التعامل مع غياب القيم باستخدام 'Option'
ما هو الـ 'Option'؟استخدام 'match' مع 'Option''is_some()' و 'is_none()'فك تغليف الـ 'Option'الدالة 'expect'توفير قيمة افتراضية: 'unwrap_or'مراجعة - البحث عن عنصر9شرائح الـ String والمزيد
String مقابل &strإنشاء شرائح الـ Stringالشرائح كمعاملات للدوالشرائح أخرىمراجعة - إيجاد الكلمة الأولى