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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')
(مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.findAnyOf()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>findAnyOf()‎</code> في Kotlin}}</noinclude>
تبحث الدالة <code>findAnyOf()</code>‎ عن أول ظهور لأي واحدة من [[Kotlin/String|السلاسل النصية]] الموجودة في الوسيط المُمرّر <code>strings</code>  في [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها بداية من الفهرس <code>startIndex،</code> وفي حال إعطاء القيمة <code>true</code> للوسيط <code>ignoreCase</code> فستتجاهل الدالة حالة الحروف.
+
تبحث الدالة <code>findAnyOf()</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>findAnyOf()</code>‎ تبدأ من بداية سلسلة المحارف المعطاة وحتى نهايتها باحثةً عن العنصر الأول في <code>strings</code> ثم الثاني ثم الثالث ...إلخ. عند كل محرف من محارفها لمطابقة أول ظهور لأحد العناصر في سلسلة المحارف المعطاة .
 +
 +
=== <code>startIndex</code> ===
 +
عدد صحيح يمثل فهرس العنصر الذي يراد بدء عملية البحث عنده. القيمة الافتراضية هي: 0 (أي بدء عملية البحث من بداية سلسلة المحارف).
 +
 +
=== <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>()findAnyOf</code> مع سلسلة نصية===
+
مثالٌ على استعمال الدالة <code>()findAnyOf</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، كما تعرّف لائحة من  [[Kotlin/String|السلاسل النصية]] باسم <code>strings</code>، ثمَّ تستدعي الدالة<code>()findAnyOf</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.findAnyOf(strings)) // (1, sou)
+
     println(str.findAnyOf(strings)) // (1, sou)
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/find|find()]]</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/filterIndexed|filterIndexed()]]</code>: تعيد الدالة <code>filterIndexed()</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-any-of.html الدالة text.findAnyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/find-any-of.html صفحة الدالة findAnyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Function]]
 
[[تصنيف: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()‎: ترشِّح محارف سلسلة المحارف أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.

مصادر