الفرق بين المراجعتين ل"Kotlin/Enum/equals"

من موسوعة حسوب
< Kotlin‏ | Enum
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع Enum.equals()‎ في لغة Kotlin}}</noinclude> تبين الدالة <code>equals()</code>‎ إذا ما كان الكائن...')
 
سطر 9: سطر 9:
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
open operator fun equals(other: Any?): Boolean
+
fun equals(other: Any?): Boolean  
</syntaxhighlight>يُلاحظ وجود الكلمة المفتاحيَّة <code>operator</code> للدلالة على أنّ هذا التابع مرتبط بمعامل الفهرسة المذكور سابقً، والكلمة <code>open</code> التي تسمح بتعديل هذه الدالة في الأصناف الوارثة.
 
  
 +
</syntaxhighlight>
 
== القيم المعادة ==
 
== القيم المعادة ==
 
القيمة المنطقية <code>true</code> إن كان الكائن المُمرّر للدالة يساوي الكائن الذي استدعيت عبره، أو <code>false</code> خلاف ذلك.
 
القيمة المنطقية <code>true</code> إن كان الكائن المُمرّر للدالة يساوي الكائن الذي استدعيت عبره، أو <code>false</code> خلاف ذلك.
 
== أمثلة ==
 
 
=== استخدام الدالة <code>equals()‎</code> مع السلاسل النصية ===
 
تُعرّف الشيفرة الآتية سلستين نصيتين <code>a</code> و <code>b</code> ثم تستدعي الدالة <code>equals()‎</code> عبر الكائن <code>a</code> لموازنته مع <code>b</code>، ثم تستخدم التعليمة الشرطية <code>if</code> لطباعة النتيجة:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
   var a: String = "hsoub corp"
 
   var b: String = "hsoub " + "corp"   
 
 
   if(a.equals(b)){
 
       println("'$a' = '$b'")
 
 
 
  } else {
 
       println("'$a' != '$b'")
 
   }
 
}
 
 
 
</syntaxhighlight>النتيجة المطبوعة هي:<syntaxhighlight lang="kotlin">
 
'hsoub corp' = 'hsoub corp'
 
</syntaxhighlight>
 
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* التابع <code>[[Kotlin/Any/hashCode|()hashCode]]</code>: يعيد التكويد (hash code) الخاص بالكائن.
+
* الخاصيّة <code>[[Kotlin/Enum/ordinal|ordinal]]</code>: تعيد ترتيب مُركّبة الكائن <code>enum</code> الذي استُدعيت عبره، أي ترتيبها في تصريح الكائن <code>enum،</code> بحيث تأخذ المُركّبة الأولى العدد <code>0</code>. 
* التابع <code>[[Kotlin/Any/toString|()toString]]</code>: يعيد تمثيلًا نصيًا للكائن.
+
* الخاصيّة <code>[[Kotlin/Enum/name|name]]</code>:تعيد اسم مُركّبة الكائن <code>enum</code> الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. 
  
 
== مصادر ==
 
== مصادر ==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/equals.html صفحة الدالة Enum.equals()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-enum/equals.html صفحة الدالة Enum.equals()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Method]]
 
[[تصنيف:Kotlin Method]]

مراجعة 19:00، 3 يوليو 2018

تبين الدالة equals()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت عبره. وأيُّ تعريف لاستخدام هذه الدالة يجب أن يكون:

  • انعكاسيًا (Reflexive): لكل مرجع x لا يساوي null، يجب أن تُعيد العبارة x.equals(x)‎ القيمة true.
  • تماثليًَا (Symmetric): لكل قيمتين مرجعيتين x و y لا تساويان null، ستعيد العبارة x.equals (y)‎ القيمة true إذا وفقط إذا أعادت العبارة y.equals (x)‎ القيمة true.
  • تواتريًا (Transitive):  لكل القيم المرجعية x و y و z التي لا تساوي null، ستعيد العبارة  x.equals (z)‎ القيمة true إن كانت العبارتان x.equals (y)‎ و y.equals (z)‎ تعيدان القيمة true أيضًا.
  • متسقًا (Consistent): لكل قيمتين مرجعيتين x و y لا تساويان null، سيعيد استدعاء الدالة x.equals (y)‎ دائمًا إحدى القيمتين true أو false شريطة عدم تغيير أي معلومة تستخدمها الدالة equals()‎ لأجل مقارنة الكائنين.

تذكر أنَّ العامل == في أكواد Kotlin سيُترجم إلى استدعاءٍ للدالة equals()‎‎‎‎ عندما يكون كلا الكائنين المُقارَنَين مخالفين للقيمة null.

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

fun equals(other: Any?): Boolean

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

القيمة المنطقية true إن كان الكائن المُمرّر للدالة يساوي الكائن الذي استدعيت عبره، أو false خلاف ذلك.

انظر أيضًا

  • الخاصيّة ordinal: تعيد ترتيب مُركّبة الكائن enum الذي استُدعيت عبره، أي ترتيبها في تصريح الكائن enum، بحيث تأخذ المُركّبة الأولى العدد 0
  • الخاصيّة name:تعيد اسم مُركّبة الكائن enum الذي استُدعيت عبره، كما سُمّيت أُثناء تعريف ذلك الكائن. 

مصادر