مقارنة النصوص
جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 19 من 75.
هناك طريقتان رئيسيتان لإنشاء السلاسل النصية في Rust:
الطريقة 1: سلاسل نصية حرفية بسيطة (str):
let str1 = "hello";
let str2 = "hello";
let str3 = "Hello";هذه سلاسل نصية بسيطة وثابتة مدمجة في برنامجك.
الطريقة الثانية: السلاسل النصية الكاملة (String):
let string1: String = "hello".to_string();
let string2: String = String::from("hello");
let string3 = "hello".to_owned();تنشئ هذه الأسطر نوعاً أكثر مرونة من السلاسل النصية التي يمكنك تغييرها لاحقاً. تقوم الأسطر الثلاثة بنفس الشيء تقريباً، فهي مجرد طرق مختلفة لكتابتها.
إن الرمز :: في String::from هو بناء جملة Rust لاستدعاء دالة مرتبطة مباشرة على النوع — فكر فيها كطريقة String المدمجة الخاصة لإنشاء قيمة سلسلة نصية جديدة.
بالنسبة لمعظم مقارنات السلاسل النصية، يعمل كلا النوعين بنفس الطريقة:
let result1 = str1 == str2; // true
let result2 = str1 == str3; // false (حساس لحالة الأحرف)
// مقارنة String مع String
let result3 = string1 == string2; // true
// يمكنك حتى مقارنة String مع &str
let result4 = string1 == str1; // trueورقة مرجعية
هناك طريقتان رئيسيتان لإنشاء السلاسل النصية (strings) في لغة Rust:
السلاسل النصية الحرفية (str):
let str1 = "hello";السلاسل النصية الكاملة (String):
let string1: String = "hello".to_string();
let string2: String = String::from("hello");
let string3 = "hello".to_owned();تعمل مقارنات السلاسل النصية مع كلا النوعين وهي حساسة لحالة الأحرف:
let result1 = str1 == str2; // true
let result2 = string1 == str1; // true (String مع &str)جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكي