التابع ?Object.eql في روبي

من موسوعة حسوب
< Ruby‏ | Object
مراجعة 17:57، 24 نوفمبر 2018 بواسطة محمد-خطيب (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يتحقَّق التابع ?eql من استخدام كلا الكائنين نفس مفتاح التجزئة (hash key). يُستَخدم هذا المعامل من قِبَل الصنف Hash للتحقق من تساوي العناصر. بالنسبة لكائنات الصنف Object، فإنَّ التابع ?eql هو مرادفٌ للمعامل ==. تتجاوز الأصناف الفرعية عادةً هذا الاصطلاح عبر تعيين التابع ?eql اسمًا بديلًا لمُعاملها == المستبدل، لكن هناك استثناءاتٌ دومًا. الأنواع الرقمية مثلًاتجري تحويلًا للنوع عبر المعامل == وليس عبر التابع ?eql. اطلع على المثال التالي الذي يوضح ما سبق:

1 == 1.0     #=> true
1.eql? 1.0   #=> false

البنية العامة

eql?(other)  true or false

المعاملات

other

الكائن الآخر الذي سيُتحقَق من استخدامه نفس مفتاح التجزئة للكائن الأصل.

القيم المعادة

تُعاد القيمة true إذا كان الكائنان يستخدمان نفس مفتاح التجزئة، أو القيمة false خلاف ذلك.

انظر أيضًا

  • التابع ?nil: يتحقَّق فيما إذا كان الكائن المعطى هو nil أم لا.
  • التابع ?instance_of: يتحقَّق إذا كان الكائن الذي استدعي معه نسخةً من الصِّنف المُمرَّر إليه.
  • التابع ?instance_variable_defined: يتحقَّق إذا كان متغيِّر النسخة المُمرَّر إليه مُعرَّفًا في الكائن المعطى.
  • التابع ?is_a: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن الذي استدعي معه، أو إن كان هذا الصنف أحد الأصناف العليا للكائن المعطى أو الوحدات المُضمَّنة في هذا الكائن.
  • التابع ?kind_of: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن المعطى، أو أنه واحدٌ من الأصناف العليا لذلك الكائن أو الوحدات المُضمَّنة فيه.
  • التابع ?respond_to: يتحقَّق من استجابة الكائن الذي استدعي معه للتابع المُمرَّر إليه.
  • التابع ?respond_to_missing: يتحقَّق فيما إذا كان الكائن المعطى يستجيب إلى تابعٍ محدِّدٍ أم لا.

مصادر