الفرق بين المراجعتين لصفحة: «Ruby/Object/eql-3F»

من موسوعة حسوب
< Ruby‏ | Object
أنشأ الصفحة ب'{{DISPLAYTITLE:التابع ?Object.eql في روبي}} يتحقَّق التابع ?eql من استخدام كلا الكائنين نفس مفتاح التجزئة (h...'
 
طلا ملخص تعديل
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع ?Object.eql في روبي}}
{{DISPLAYTITLE:التابع ?Object.eql في روبي}}


يتحقَّق التابع ?eql من استخدام كلا الكائنين نفس مفتاح التجزئة (hash key). يُستَخدم هذا المعامل من قِبَل الصنف Hash للتحقق من تساوي العناصر. بالنسبة لكائنات الصنف Object، فإنَّ التابع ?eql هو مرادفٌ للمعامل ==. تتجاوز الأصناف الفرعية عادةً هذا الاصطلاح عبر تعيين التابع ?eql اسمًا بديلًا لمُعاملها == المستبدل، لكن هناك استثناءاتٌ دومًا. الأنواع الرقمية مثلًاتجري تحويلًا للنوع عبر المعامل == وليس عبر التابع ?eql. اطلع على المثال التالي الذي يوضح ما سبق:
يتحقَّق التابع <code>?eql</code> من استخدام كلا الكائنين نفس مفتاح التجزئة (hash key). يُستَخدم هذا المعامل من قِبَل الصنف <code>[[Ruby/Hash|Hash]]</code> للتحقق من تساوي العناصر. بالنسبة لكائنات الصنف <code>[[Ruby/Object|Object]]</code>، فإنَّ التابع <code>?eql</code> هو مرادفٌ للمعامل <code>[[Ruby/Object/3D-3D|==]]</code>. تتجاوز الأصناف الفرعية عادةً هذا الاصطلاح عبر تعيين التابع <code>?eql</code> اسمًا بديلًا لمُعاملها <code>[[Ruby/Object/3D-3D|==]]</code> المستبدل، لكن هناك استثناءاتٌ دومًا. الأنواع الرقمية مثلًاتجري تحويلًا للنوع عبر المعامل <code>[[Ruby/Object/3D-3D|==]]</code> وليس عبر التابع <code>?eql</code>. اطلع على المثال التالي الذي يوضح ما سبق:<syntaxhighlight lang="ruby">
1 == 1.0    #=> true
1.eql? 1.0  #=> false


1 == 1.0     #=> true
</syntaxhighlight>
 
1.eql? 1.0   #=> false


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="ruby">
eql?(other) → true or false
eql?(other) → true or false
</syntaxhighlight>


== المعاملات ==
== المعاملات ==


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


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


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


== مصادر ==
== مصادر ==

مراجعة 17:54، 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: يتحقَّق فيما إذا كان الكائن المعطى يستجيب إلى تابعٍ محدِّدٍ أم لا.

مصادر