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

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


==القيم المعادة==
==القيم المعادة==
الوسيط المُمرّر <code>destination</code>.
يعاد أول ظهور للمحرف المبحوث عنه ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] المعطاة والذي يحقق الشرط <code>predicate</code> المعطى أيضًا، أو تعاد القيمة <code>null</code> إن لم يُعثر على أي عنصر يحقق ذلك الشرط.


==أمثلة==
==أمثلة==
===استخدام الدالة <code>()find</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()find</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، وتعرّف كائنا من الصنف [[Kotlin/kotlin.text/StringBuilder/index|<code>StringBuilder</code>]] باسم <code>sb</code>، ثمَّ تستدعي الدالة  <code>()find</code> عبرها مع تمرير <code>sb</code> ودالة منطقية كوسيطين، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "abcdef"  
    val str = "abcdefabc"
val sb = StringBuilder()


str.filterTo (sb) {it<'c'}
    println(str.find{ it > 'c' }) // d
   
println(sb) // ab
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/filterIndexed|filterIndexed()]]</code>: تعيد الدالة <code>filterIndexed()</code>‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()‎</code> ثم تعيد بدورها قيمة منطقيَّة
* الدالة <code>[[Kotlin/kotlin.text/findLast|findLast()]]</code>: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها ثمَّ تعيد آخر ظهور له  
 
* الدالة <code>[[Kotlin/kotlin.text/findAnyOf|findAnyOf()]]‎</code>: تبحث عن أول ظهور لأيٍّ من [[Kotlin/String|السلاسل النصية]] المعطاة في [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
* <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/filter-to.html الدالة text.find()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/find.html صفحة الدالة CharSequence.find()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

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

تبحث الدالة find()‎ على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد أول ظهور له.

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

inline fun CharSequence.find(
    predicate: (Char) -> Boolean
): Char?

وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).

المعاملات

predicate

دالةٌ تمثل الشرط المراد تطبيقه على كل محرف من محارف السلسلة المعطاة. يمرر إلى هذه الدالة قيمة المحرف وتعيد قيمةً منطقيةً.

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

يعاد أول ظهور للمحرف المبحوث عنه ضمن محارف السلسلة المعطاة والذي يحقق الشرط predicate المعطى أيضًا، أو تعاد القيمة null إن لم يُعثر على أي عنصر يحقق ذلك الشرط.

أمثلة

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

fun main(args: Array<String>) {
    val str = "abcdefabc"

    println(str.find{ it > 'c' }) // d
}

انظر أيضًا

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

مصادر