عوامل المقارنة والهوية
قارن القيم باستخدام == و != و ، وتحقق من الهوية باستخدام ===.
عوامل المقارنة والهوية درس مجاني في Swift Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Swift Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Swift Academy 4 دروس في المجموع.
معاملات المقارنة
تطرح معاملات المقارنة سؤالًا إجابته نعم أو لا، وتعيد قيمة من النوع Bool. توفر Swift المعاملات == و!= و< و> و<= و>=.
print(3 == 3)
print(5 != 2)
print(4 < 10)التساوي وعدم التساوي
يتحقق == مما إذا كانت قيمتان متساويتين، بينما يتحقق != من اختلافهما. ويعمل هذان المعاملان مع الأعداد والسلاسل النصية وأنواع أخرى كثيرة.
let a = "swift"
let b = "Swift"
print(a == b)
print(a != b)أصغر من وأكبر من
يقارن < و> ترتيب القيم. وهما أساس عمليات الفرز والتحقق من النطاقات.
let temperature = 22
print(temperature > 18)
print(temperature < 0)أصغر من أو يساوي وأكبر من أو يساوي
يشمل <= و>= قيمة الحد. ويفيدان عندما ينبغي قبول قيمة العتبة نفسها.
let score = 60
print("Pass:", score >= 60)
print("Perfect or less:", score <= 100)المقارنات في الشروط
تتحكم نتائج المقارنة في عبارات if والحلقات، مما يتيح لبرنامجك اتخاذ القرارات.
let age = 17
if age >= 18 {
print("Adult")
} else {
print("Minor")
}مقارنة السلاسل النصية
تُقارن السلاسل النصية ترتيبًا معجميًا، أي بترتيب القاموس، باستخدام Unicode. ويتحقق == من التساوي التام.
print("apple" < "banana")
print("Zoo" < "apple")
print("cat" == "cat")ربط المقارنات باستخدام المنطق
ادمج المقارنات باستخدام المعاملات المنطقية للتعبير عن النطاقات، مثل التحقق من وقوع قيمة ضمن حدين.
let value = 7
let inRange = value >= 1 && value <= 10
print("In range 1...10:", inRange)تُقارن أنواع القيم حسب المحتوى
بالنسبة إلى أنواع القيم مثل Int وString، يقارن == المحتوى الفعلي. وتكون القيمتان المتساويتان بنيويًا متساويتين.
let point1 = (x: 1, y: 2)
let point2 = (x: 1, y: 2)
print(point1 == point2)هوية المرجع باستخدام التساوي الثلاثي
الفئات أنواع مرجعية. يتحقق معامل الهوية === مما إذا كان مرجعان يشيران إلى الكائن نفسه تمامًا في الذاكرة، وليس مما إذا كان محتواهما متطابقًا.
class Box { var n: Int; init(_ n: Int) { self.n = n } }
let x = Box(5)
let y = x
print(x === y)عدم التطابق باستخدام عدم التساوي الثلاثي
يمثل !== عكس ===. فكائنان منفصلان لهما البيانات نفسها ليسَا متطابقين.
class Box { var n: Int; init(_ n: Int) { self.n = n } }
let a = Box(5)
let b = Box(5)
print(a === b)
print(a !== b)الهوية مقابل التساوي
استخدم === مع الفئات فقط للسؤال عما إذا كان المرجعان يشيران إلى النسخة نفسها. واستخدم == للتحقق من تساوي القيم. فكل منهما يجيب عن سؤال مختلف.
class Box { var n: Int; init(_ n: Int) { self.n = n } }
let first = Box(1)
let alias = first
let other = Box(1)
print("same object:", first === alias)
print("different object:", first === other)تحقق سريع
فكّر في الفرق بين الهوية والتساوي عند التعامل مع نسخ الفئات.
مراجعة: المقارنة والهوية
تناولت معاملات == != < > <= >= للترتيب والتساوي، وتعلمت أن أنواع القيم تُقارن حسب المحتوى، وأن الفئات تضيف === و!== للتحقق مما إذا كان مرجعان يشيران إلى النسخة نفسها.
class Node { var v: Int; init(_ v: Int) { self.v = v } }
let n1 = Node(3)
let n2 = n1
print("equal value check:", n1.v == n2.v)
print("same instance:", n1 === n2)الأسئلة الشائعة
هل درس «عوامل المقارنة والهوية» مجاني؟
نعم — نص درس «عوامل المقارنة والهوية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Swift Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Swift Academy 4 دروس في المجموع.
ماذا ستتعلم في «عوامل المقارنة والهوية»؟
قارن القيم باستخدام == و != و ، وتحقق من الهوية باستخدام ===. تتمرن على Swift Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Swift Academy؟
لا تُشترط خبرة سابقة. Swift Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «عوامل المقارنة والهوية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Swift Academy هذا؟
نعم. كل درس في Swift Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- عوامل الحساب والإسناد المركب
- عوامل المقارنة والهوية
- العوامل المنطقية والتنفيذ بالتقييم القصير
- عوامل البت وتجاوز السعة