الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/findLastAnyOf»

من موسوعة حسوب
ط استبدال النص - 'Kotlin Functions' ب'Kotlin Function'
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.findLastAnyOf()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>text.findLastAnyOf()‎</code> في لغة Kotlin}}</noinclude>
تبحث الدالة <code>findLastAnyOf()</code>‎ عن آخر ظهور لأي واحدة من [[Kotlin/String|السلاسل النصية]] الموجودة في الوسيط المُمرّر <code>strings</code>  في [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها بداية من الفهرس <code>startIndex</code>، وفي حال إعطاء القيمة <code>true</code> للوسيط <code>ignoreCase</code> فستتجاهل الدالة حالة الحروف.
تبحث الدالة <code>findLastAnyOf()</code>‎ عن آخر ظهور لأيٍّ من [[Kotlin/String|السلاسل النصية]] المعطاة في [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
 
لتجنّب الالتباس عندما تحتوي  [[Kotlin/String|السلاسل النصية]] الموجودة في الوسيط المُمرّر <code>strings</code> حروفا مشتركة، فإنّ  الدالة <code>findAnyOf()</code>‎ تبدأ من نهاية تلك [[Kotlin/String|السلسلة النصية]] نحو بدايتها، وتبحث عند كل موضع عن العنصر الأول في <code>strings</code>والذي يطابق تلك [[Kotlin/String|السلسلة النصية]] عند ذلك الموضع.  
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 11: سطر 9:
): Pair<Int, String>?  
): Pair<Int, String>?  
</syntaxhighlight>
</syntaxhighlight>
== المعاملات ==
=== <code>strings</code> ===
مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة.
لتجنب الالتباس الناتج عند وجود محارف مشتركة بين [[Kotlin/String|السلاسل النصية]] الموجودة في المعامل <code>strings</code>، فإنّ الدالة <code>findLastAnyOf()</code>‎ تبدأ من نهاية سلسلة المحارف المعطاة وحتى بدايتها باحثةً عن العنصر الأول في <code>strings</code> ثم الثاني ثم الثالث ...إلخ. عند كل محرف من محارفها لمطابقة آخر ظهور لأحد العناصر في سلسلة المحارف المعطاة .
=== <code>startIndex</code> ===
عدد صحيح يمثل فهرس المحرف الذي يراد بدء عملية البحث عنده. القيمة الافتراضية هي: lastIndex (أي بدء عملية البحث من نهاية سلسلة المحارف). انتبه إلى أن عملية البحث ستبدأ من نهاية سلسلة المحارف وحتى بدايتها.
=== <code>ignorCase</code> ===
قيمة منطقية تحدد إن كان يراد تجاهل حالة المحارف أم لا أثناء عملية البحث. القيمة الافتراضية هي: <code>false</code> أي أخذ حالة الحروف بالحسبان.
==القيم المعادة==
==القيم المعادة==
[[Kotlin/Pair/index|زوجا]] مكونًا من فهرس آخر ظهور لأي واحدة من [[Kotlin/String|السلاسل النصية]] الموجودة في<code>strings</code> و [[Kotlin/String|السلسلة النصية]] المُطابقَة، أو تعيد  <code>null</code> إن لم يوجد أي تطابق.
يعاد [[Kotlin/Pair|زوجٌ]] مكونٌ من فهرس آخر ظهور لأحد [[Kotlin/String|السلاسل النصية]] الموجودة في <code>strings</code> في سلسلة المحارف المعطاة و<nowiki/>[[Kotlin/String|السلسلة النصية]] التي عُثِر عليها، أو تعاد القيمة <code>null</code> إن لم يُعثر على شيء.
 
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()findLastAnyOf</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()findLastAnyOf</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، كما تعرّف لائحة من  [[Kotlin/String|السلاسل النصية]] باسم <code>strings</code>، ثمَّ تستدعي الدالة<code>()findLastAnyOf</code> عبر <code>str</code> مع تمرير <code>strings</code> كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "hsoub wiki"  
    val str = "hsoub wiki"
val strings = listOf("kotlin", "wiki","ki", "sou", "xyz")
    val strings = listOf("kotlin", "wiki", "ki", "sou", "xyz")
      
 
println(str.findLastAnyOf(strings)) //  (8, ki)
     println(str.findLastAnyOf(strings)) //  (8, ki)
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 34: سطر 44:


==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/find-last-any-of.html الدالة text.findLastAnyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/find-last-any-of.html صفحة الدالة findLastAnyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Function]]

مراجعة 08:02، 3 سبتمبر 2018

تبحث الدالة findLastAnyOf()‎ عن آخر ظهور لأيٍّ من السلاسل النصية المعطاة في سلسلة المحارف التي استُدعيت معها.

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

fun CharSequence.findLastAnyOf(
    strings: Collection<String>, 
    startIndex: Int = lastIndex, 
    ignoreCase: Boolean = false
): Pair<Int, String>?

المعاملات

strings

مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة.

لتجنب الالتباس الناتج عند وجود محارف مشتركة بين السلاسل النصية الموجودة في المعامل strings، فإنّ الدالة findLastAnyOf()‎ تبدأ من نهاية سلسلة المحارف المعطاة وحتى بدايتها باحثةً عن العنصر الأول في strings ثم الثاني ثم الثالث ...إلخ. عند كل محرف من محارفها لمطابقة آخر ظهور لأحد العناصر في سلسلة المحارف المعطاة .

startIndex

عدد صحيح يمثل فهرس المحرف الذي يراد بدء عملية البحث عنده. القيمة الافتراضية هي: lastIndex (أي بدء عملية البحث من نهاية سلسلة المحارف). انتبه إلى أن عملية البحث ستبدأ من نهاية سلسلة المحارف وحتى بدايتها.

ignorCase

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

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

يعاد زوجٌ مكونٌ من فهرس آخر ظهور لأحد السلاسل النصية الموجودة في strings في سلسلة المحارف المعطاة والسلسلة النصية التي عُثِر عليها، أو تعاد القيمة null إن لم يُعثر على شيء.

أمثلة

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

fun main(args: Array<String>) {
    val str = "hsoub wiki"
    val strings = listOf("kotlin", "wiki", "ki", "sou", "xyz")

    println(str.findLastAnyOf(strings)) //  (8, ki)
}

انظر أيضًا

  • find(): تعيد أول حرف من سلسلة الحروف التي استُدعيت عبرها يحقق الشرط المنطقي predicate.
  • findAnyOf():تبحث الدالة findAnyOf()‎ عن أول ظهور لأي واحدة من السلاسل النصية الموجودة في الوسيط المُمرّر strings في سلسلة الحروف التي استُدعيت عبرها بداية من الفهرس startIndex، وفي حال إعطاء القيمة true للوسيط ignoreCase فستتجاهل الدالة حالة الحروف.
  • filterIndexed(): تعيد الدالة filterIndexed()‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالة predicate()‎ ثم تعيد بدورها قيمة منطقيَّة. 
  • elementAt(): تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناء IndexOutOfBoundsException

مصادر