الفرق بين المراجعتين لصفحة: «Ruby/Object/eql-3F»
أنشأ الصفحة ب'{{DISPLAYTITLE:التابع ?Object.eql في روبي}} يتحقَّق التابع ?eql من استخدام كلا الكائنين نفس مفتاح التجزئة (h...' |
طلا ملخص تعديل |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
{{DISPLAYTITLE:التابع ?Object.eql في روبي}} | {{DISPLAYTITLE:التابع <code>?Object.eql</code> في روبي}} | ||
يتحقَّق التابع <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 | |||
</syntaxhighlight> | |||
== البنية العامة == | == البنية العامة == | ||
<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>[[Ruby/Object/nil-3F|?nil]]</code>: يتحقَّق فيما إذا كان الكائن المعطى هو nil أم لا. | ||
* التابع ?instance_of: يتحقَّق إذا كان الكائن الذي استدعي معه نسخةً من الصِّنف المُمرَّر إليه. | * التابع <code>[[Ruby/Object/instance of-3F|?instance_of]]</code>: يتحقَّق إذا كان الكائن الذي استدعي معه نسخةً من الصِّنف المُمرَّر إليه. | ||
* التابع ?instance_variable_defined: يتحقَّق إذا كان متغيِّر النسخة المُمرَّر إليه مُعرَّفًا في الكائن المعطى. | * التابع <code>[[Ruby/Object/instance variable defined-3F|?instance_variable_defined]]</code>: يتحقَّق إذا كان متغيِّر النسخة المُمرَّر إليه مُعرَّفًا في الكائن المعطى. | ||
* التابع ?is_a: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن الذي استدعي معه، أو إن كان هذا الصنف أحد الأصناف العليا للكائن المعطى أو الوحدات المُضمَّنة في هذا الكائن. | * التابع <code>[[Ruby/Object/is a-3F|?is_a]]</code>: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن الذي استدعي معه، أو إن كان هذا الصنف أحد الأصناف العليا للكائن المعطى أو الوحدات المُضمَّنة في هذا الكائن. | ||
* التابع ?kind_of: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن المعطى، أو أنه واحدٌ من الأصناف العليا لذلك الكائن أو الوحدات المُضمَّنة فيه. | * التابع <code>[[Ruby/Object/kind of-3F|?kind_of]]</code>: يتحقَّق إن كان الصنف المُمرَّر إليه هو نفسه صنف الكائن المعطى، أو أنه واحدٌ من الأصناف العليا لذلك الكائن أو الوحدات المُضمَّنة فيه. | ||
* التابع ?respond_to: يتحقَّق من استجابة الكائن الذي استدعي معه للتابع المُمرَّر إليه. | * التابع <code>[[Ruby/Object/respond to-3F|?respond_to]]</code>: يتحقَّق من استجابة الكائن الذي استدعي معه للتابع المُمرَّر إليه. | ||
* التابع ?respond_to_missing: يتحقَّق فيما إذا كان الكائن المعطى يستجيب إلى تابعٍ محدِّدٍ أم لا. | * التابع <code>[[Ruby/Object/respond to missing-3F|?respond_to_missing]]</code>: يتحقَّق فيما إذا كان الكائن المعطى يستجيب إلى تابعٍ محدِّدٍ أم لا. | ||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 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
: يتحقَّق فيما إذا كان الكائن المعطى يستجيب إلى تابعٍ محدِّدٍ أم لا.