Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مقارنة النصوص

جزء من قسم 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)

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals