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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.first()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>first()</code>‎ آخر Kotlin/Char/...'
 
طلا ملخص تعديل
 
(5 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.first()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>first()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>first()</code>‎ آخر [[Kotlin/Char/index|حرف]] من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code>. أو تعيد  <code>null</code> إن لم يوجد أي تطابق.
تجلب الدالة <code>first()</code> أول محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. 
 
إن كانت <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت الدالة <code>first()‎</code> معها فارغةً أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممرَّرة إليها، فستُطلِق الدالة الاستثناء <code>NoSuchElementException</code>.
 
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline fun CharSequence.findLast(
fun CharSequence.first(): Char
 
inline fun CharSequence.first(
     predicate: (Char) -> Boolean
     predicate: (Char) -> Boolean
): Char?
): 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|السلسلة]] المعطاة. يمرر إلى هذه الدالة قيمة المحرف وتعيد قيمةً منطقيةً.


==القيم المعادة==
==القيم المعادة==
[[Kotlin/Char/index|حرف]].
يُعاد أول محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] المعطاة إن لم يُمرَّر إلى الدالة أي معامل، أو أول عنصر يحق الشرط المحدد في المعامل <code>predicate</code> إن أعطي.


==أمثلة==
==أمثلة==
===استخدام الدالة <code>()first</code> مع سلسلة نصية===
مثال على استعمال الدالة <code>()first</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()first</code> عبرها مع تمرير دالة منطقية كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "abcdef"  
    val str = "hsoub Wiki"
      
 
println(str.findLast{it < 'c'}) // b
     println(str.first { it.isUpperCase() }) // W
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/findAnyOf|findAnyOf()]]‎</code>:تبحث الدالة <code>findAnyOf()</code>‎ عن أول ظهور لأي واحدة من [[Kotlin/String|السلاسل النصية]] الموجودة في الوسيط المُمرّر <code>strings</code> في [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها بداية من الفهرس <code>startIndex،</code> وفي حال إعطاء القيمة <code>true</code> للوسيط <code>ignoreCase</code> فستتجاهل الدالة حالة الحروف.
* الدالة <code>[[Kotlin/kotlin.text/firstOrNull|firstOrNull()]]‎</code>: تجلب أول محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
* <code>[[Kotlin/kotlin.text/find|find()]]</code>: تعيد أول حرف من سلسلة الحروف التي استُدعيت عبرها يحقق الشرط المنطقي <code>predicate.</code>
* الدالة <code>[[Kotlin/kotlin.text/last|last()‎]]</code>: تجلب آخر محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
 
*الدالة <code>[[Kotlin/kotlin.text/find|find()]]</code>: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له.  
* <code>[[Kotlin/kotlin.text/filterIndexed|filterIndexed()]]‎</code>: تعيد الدالة <code>filterIndexed()</code>‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()‎</code> ثم تعيد بدورها قيمة منطقيَّة. 
*الدالة <code>[[Kotlin/kotlin.text/findAnyOf|findAnyOf()]]‎</code>: تبحث عن أول ظهور لأيٍّ من [[Kotlin/String|السلاسل النصية]] المعطاة في [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
* الدالة <code>[[Kotlin/kotlin.text/filter|filter()‎]]</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.


* <code>[[Kotlin/kotlin.text/elementAt|elementAt()]]‎</code>: تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناء <code>IndexOutOfBoundsException</code>. 
* الدالة <code>[[Kotlin/kotlin.text/elementAt|elementAt()]]‎</code>: تجلب محرفًا ذي فهرس معيَّن من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها.
* الدالة <code>[[Kotlin/kotlin.text/drop|drop()]]‎</code>: تُزيِل أول <code>n</code> محرف من محارف السلسلة النصية أو <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.


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

المراجعة الحالية بتاريخ 07:31، 4 سبتمبر 2018

تجلب الدالة first()‎ أول محرف من محارف السلسلة التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.

إن كانت سلسلة المحارف التي استُدعيت الدالة first()‎ معها فارغةً أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممرَّرة إليها، فستُطلِق الدالة الاستثناء NoSuchElementException.

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

fun CharSequence.first(): Char 

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

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

المعاملات

predicate

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

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

يُعاد أول محرف من محارف السلسلة المعطاة إن لم يُمرَّر إلى الدالة أي معامل، أو أول عنصر يحق الشرط المحدد في المعامل predicate إن أعطي.

أمثلة

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

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

    println(str.first { it.isUpperCase() }) // W
}

انظر أيضًا

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

مصادر