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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.findAnyOf()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>findAnyOf()</code>‎ أول Kotl...'
 
مراجعة وتدقيق.
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.findAnyOf()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>findAnyOf()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>findAnyOf()</code>‎ أول [[Kotlin/Char/index|حرف]] من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها يحقق الشرط المنطقي <code>predicate</code><code>.</code> 
تبحث الدالة <code>findAnyOf()</code>‎ عن أول ظهور لأيٍّ من [[Kotlin/String|السلاسل النصية]] المعطاة في [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline fun CharSequence.find(
fun CharSequence.findAnyOf(
     predicate: (Char) -> Boolean
     strings: Collection<String>,
): Char?
    startIndex: Int = 0,
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
    ignoreCase: Boolean = false
): Pair<Int, String>?
</syntaxhighlight>
 
== المعاملات ==
 
=== <code>strings</code> ===
مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة.
 
لتجنب الالتباس الناتج عند وجود محارف مشتركة بين [[Kotlin/String|السلاسل النصية]] الموجودة في المعامل <code>strings</code>، فإنّ الدالة <code>findAnyOf()</code>‎ تبدأ من بداية سلسلة المحارف المعطاة وحتى نهايتها باحثةً عن العنصر الأول في <code>strings</code> ثم الثاني ثم الثالث ...إلخ. عند كل محرف من محارفها لمطابقة أول ظهور لأحد العناصر في سلسلة المحارف المعطاة .
 
=== <code>startIndex</code> ===
عدد صحيح يمثل فهرس العنصر الذي يراد بدء عملية البحث عنده. القيمة الافتراضية هي: 0 (أي بدء عملية البحث من بداية سلسلة المحارف).
 
=== <code>ignorCase</code> ===
قيمة منطقية تحدد إن كان يراد تجاهل حالة المحارف أم لا أثناء عملية البحث. القيمة الافتراضية هي: <code>false</code> أي أخذ حالة الحروف بالحسبان.


==القيم المعادة==
==القيم المعادة==
[[Kotlin/Char/index|حرف]].
يعاد [[Kotlin/Pair|زوجٌ]] مكونٌ من فهرس أول ظهور لأحد [[Kotlin/String|السلاسل النصية]] الموجودة في <code>strings</code> في سلسلة المحارف المعطاة و<nowiki/>[[Kotlin/String|السلسلة النصية]] التي عُثِر عليها، أو تعاد القيمة <code>null</code> إن لم يُعثر على شيء.


==أمثلة==
==أمثلة==
===استخدام الدالة <code>()findAnyOf</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()findAnyOf</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()findAnyOf</code> عبرها مع تمرير دالة منطقية كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "abcdef"  
    val str = "hsoub wiki"
      
     val strings = listOf("kotlin", "wiki","ki", "sou", "xyz")
println(str.find{it > 'c'}) // d
 
    println(str.findAnyOf(strings)) // (1, sou)
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/filterIndexed|filterIndexed()]]</code>: تعيد الدالة <code>filterIndexed()</code>‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()‎</code> ثم تعيد بدورها قيمة منطقيَّة
*الدالة <code>[[Kotlin/kotlin.text/find|find()]]</code>: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له.  
 
*الدالة <code>[[Kotlin/kotlin.text/findLast|findLast()‎]]</code>: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها ثمَّ تعيد آخر ظهور له  
* <code>[[Kotlin/kotlin.text/filterIndexedTo|filterIndexedTo()]]</code>: تضيف الدالة <code>filterIndexedTo()</code>‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي <code>predicate</code> إلى الوسيط المُمرّر <code>destination</code>. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()‎</code> ثم تعيد بدورها قيمة منطقيَّة. 
*الدالة <code>[[Kotlin/kotlin.text/first|first()]]</code>: تجلب أول محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.  
 
* الدالة <code>[[Kotlin/kotlin.text/filter|filter()]]</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.
* <code>[[Kotlin/kotlin.text/elementAt|elementAt()]]</code>: تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناء <code>IndexOutOfBoundsException</code>. 
 
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/find.html الدالة text.findAnyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/find-any-of.html صفحة الدالة findAnyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

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

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

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

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

المعاملات

strings

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

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

startIndex

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

ignorCase

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

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

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

أمثلة

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

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

    println(str.findAnyOf(strings)) // (1, sou)
}

انظر أيضًا

  • الدالة find()‎: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد أول ظهور له.  
  • الدالة findLast()‎: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد آخر ظهور له.    
  • الدالة first()‎: تجلب أول محرف من محارف السلسلة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.  
  • الدالة filter()‎: ترشِّح محارف سلسلة المحارف أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.

مصادر