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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.equals()‎ في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>equals()</code>‎ في Kotlin}}</noinclude>
تعيد الدالة <code>equals()</code>‎ القيمة <code>true</code> في حال كان [[Kotlin/Char/index|الحرف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها مساوية [[Kotlin/Char/index|للحرف]] أو [[Kotlin/String|السلسلة النصية]] المُمرّرة إليها. في حال تمرير الوسيط <code>ignoreCase</code> وإعطائه القيمة <code>true</code> فإنّ الدالة لن تفرق بين الحروف الصغيرة والكبيرة. القيمة الابتدائية للوسيط <code>ignoreCase</code>  هي <code>false</code>.
+
تتحقق الدالة <code>equals()</code>‎ من تساوي [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/Char|المحرف]] الذي استُدعي معها مع [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/Char|المحرف]] المُمرّر إليها مع إمكانية تجاهل حالة المحارف.
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
سطر 7: سطر 7:
 
     ignoreCase: Boolean = false
 
     ignoreCase: Boolean = false
 
): Boolean
 
): Boolean
</syntaxhighlight>تعيد الدالة <code>equals()</code>‎ القيمة <code>true</code> في حال كانت [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها مساوية [[Kotlin/String|للسلسلة النصية]] المُمرّرة إليها. في حال تمرير الوسيط <code>ignoreCase</code> وإعطائه القيمة <code>true</code> فإنّ الدالة لن تفرق بين الحروف الصغيرة والكبيرة. القيمة الابتدائية للوسيط <code>ignoreCase</code>  هي <code>false</code>.<syntaxhighlight lang="kotlin">
+
 
 
fun Char.equals(
 
fun Char.equals(
 
     other: Char,  
 
     other: Char,  
 
     ignoreCase: Boolean = false
 
     ignoreCase: Boolean = false
 
): Boolean
 
): Boolean
</syntaxhighlight>تعيد الدالة <code>equals()</code>‎ القيمة <code>true</code> في حال كان [[Kotlin/Char/index|الحرف]] الذي استُدعيت عبره مساويًا [[Kotlin/Char/index|للحرف]] المُمرّر إليها. في حال تمرير الوسيط <code>ignoreCase</code> وإعطائه القيمة <code>true</code> فإنّ الدالة لن تفرق بين الحروف الصغيرة والكبيرة. القيمة الابتدائية للوسيط <code>ignoreCase</code> هي <code>false</code>.
+
</syntaxhighlight>
 +
 
 +
== المعاملات ==
 +
 
 +
=== <code>other</code> ===
 +
[[Kotlin/String|سلسلة نصية]] أو [[Kotlin/Char|محرف]] يراد التحقق من تساويها مع السلسلة النصية أو تساويه مع المحرف المعطى.
 +
 
 +
=== <code>ignoreCase</code> ===
 +
قيمة منطقية تحدد إن كان يراد تجاهل حالة الحروف أم لا أثناء الموازنة. القيمة الافتراضية هي: <code>false</code> أي أخذ حالة الحروف بالحسبان.
 +
 
 +
يعد محرفان متماثلين تمامًا بغض النظر عن حالة كل منها (محرف كبير أو صغير) إن كان أحد الخيارات التالية -على الأقل- محققًا:
 +
* المحرفان هما نفس المحرف؛ أي أُعيدَت القيمة <code>true</code> عند الموازنة بينهما باستعمال المعامل <code>==</code>.
 +
* طبقت الدالة <code>[[Kotlin/kotlin.text/toUpperCase|toUpperCase]]</code> على كلا المحرفين قبل إجراء عملية الموازنة بينهما مثل الحالة السابقة (أي أعطت عملية الموازنة بينهما بعد ذلك القيمة <code>true</code>).
 +
* طبقت الدالة <code>[[Kotlin/text/toLowerCase|toLowerCase]]</code> على كلا المحرفين قبل إجراء عملية الموازنة بينهما (أي أعطت عملية الموازنة بينهما بعد ذلك القيمة <code>true</code>).
  
 
== القيم المعادة ==
 
== القيم المعادة ==
قيمة منطقية.
+
تعاد القيمة <code>true</code> إن كانت السلسلة النصية أو المحرف <code>other</code> مساويةً للسلسلة النصية أو أو مساويًا للمحرف المعطى، أو تعاد القيمة <code>false</code> خلاف ذلك.
  
 
== أمثلة ==
 
== أمثلة ==
 +
مثالٌ على استعمال الدالة <code>equals()‎</code>:<syntaxhighlight lang="kotlin">
 +
fun main(args: Array<String>) {
 +
    val a = "hsoub"
 +
    val b = "hsouB"
 +
 +
    print(a.equals(b)) // false
 +
    print(a.equals(b, true)) // true
  
=== استخدام الدالة <code>equals()‎</code> مع السلاسل النصية ===
 
تُعرّف الشيفرة الآتية [[Kotlin/String|سلستين نصيتين]] <code>a</code> و <code>b</code> ثم تستدعي الدالة <code>equals()‎</code> عبر <code>a</code> لمقارنتها مع <code>b</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {   
 
    val a = "hsoub"
 
    val b = "hsouB" 
 
   
 
print(a.equals(b)) // false
 
}
 
</syntaxhighlight>
 
=== استخدام الدالة <code>equals()‎</code> مع السلاسل النصية مع تمرير الوسيط <code>ignoreCase</code>  ===
 
تُعرّف الشيفرة الآتية [[Kotlin/String|سلستين نصيتين]] <code>a</code> و <code>b</code> ثم تستدعي الدالة <code>equals()‎</code> عبر <code>a</code> لمقارنتها مع <code>b</code>،مع تمرير القيمة <code>true</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {   
 
    val a = "hsoub"
 
    val b = "hsouB" 
 
   
 
print(a.equals(b, true)) // true
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* <code>[[Kotlin/text/category|category]]</code>: تعيد <code>category</code> قيمة تبيّن الفئة العامة للحرف.
+
* الدالة <code>[[Kotlin/kotlin.text/compareTo|compareTo()‎]]</code>: توازن بين سلسلتين نصيتين معجميًّا (lexicographically)، مع إمكانية تجاهل حالة الأحرف.
 +
* الدالة <code>[[Kotlin/kotlin.text/contentEquals|contentEquals()‎]]</code>: تتحقق من تساوي محتوى السلسلة النصية التي استُدعيت معها مع محتوى <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] أو الكائن <code>StringBuffer</code> المُمرّر إليها.  
 +
* الدالة <code>[[Kotlin/kotlin.text/contains|contains()‎]]</code> إن كانت <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها تحوي <nowiki/>[[Kotlin/Char|المحرف]] أو <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] المُمرّرة إليها.
  
 
== مصادر ==
 
== مصادر ==
 
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/equals.html صفحة الدالة equals()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
* [http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/equals.html صفحة الدالة equals()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 05:15، 3 سبتمبر 2018

تتحقق الدالة equals()‎ من تساوي السلسلة النصية أو المحرف الذي استُدعي معها مع السلسلة النصية أو المحرف المُمرّر إليها مع إمكانية تجاهل حالة المحارف.

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

actual fun String?.equals(
    other: String?, 
    ignoreCase: Boolean = false
): Boolean

fun Char.equals(
    other: Char, 
    ignoreCase: Boolean = false
): Boolean

المعاملات

other

سلسلة نصية أو محرف يراد التحقق من تساويها مع السلسلة النصية أو تساويه مع المحرف المعطى.

ignoreCase

قيمة منطقية تحدد إن كان يراد تجاهل حالة الحروف أم لا أثناء الموازنة. القيمة الافتراضية هي: false أي أخذ حالة الحروف بالحسبان.

يعد محرفان متماثلين تمامًا بغض النظر عن حالة كل منها (محرف كبير أو صغير) إن كان أحد الخيارات التالية -على الأقل- محققًا:

  • المحرفان هما نفس المحرف؛ أي أُعيدَت القيمة true عند الموازنة بينهما باستعمال المعامل ==.
  • طبقت الدالة toUpperCase على كلا المحرفين قبل إجراء عملية الموازنة بينهما مثل الحالة السابقة (أي أعطت عملية الموازنة بينهما بعد ذلك القيمة true).
  • طبقت الدالة toLowerCase على كلا المحرفين قبل إجراء عملية الموازنة بينهما (أي أعطت عملية الموازنة بينهما بعد ذلك القيمة true).

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

تعاد القيمة true إن كانت السلسلة النصية أو المحرف other مساويةً للسلسلة النصية أو أو مساويًا للمحرف المعطى، أو تعاد القيمة false خلاف ذلك.

أمثلة

مثالٌ على استعمال الدالة equals()‎:

fun main(args: Array<String>) {
    val a = "hsoub"
    val b = "hsouB"

    print(a.equals(b)) // false
    print(a.equals(b, true)) // true

}

انظر أيضًا

مصادر