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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.lastOrNull()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>lastOrNull()</code>‎ Kotlin/Ch...'
 
مراجعة وتدقيق.
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.lastOrNull()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>CharSequence.lastOrNull()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>lastOrNull()</code>‎ [[Kotlin/Char/index|الحرف]] الأول من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها، وفي حال تمرير دالة منطقية <code>predicate</code> كوسيط فستعيد  [[Kotlin/Char/index|الحرف]] الأول الذي يحقق الشرط المنطقي <code>predicate</code>.
تجلب الدالة <code>lastOrNull()</code> آخر محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو آخر عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها. 
 
إن كانت <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت الدالة <code>lastOrNull()‎</code> معها فارغةً أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممرَّرة إليها، فستعيد الدالة القيمة <code>null</code>.


تعيد الدالة <code>first()</code>‎  القيمة <code>null</code> إن كانت  [[Kotlin/CharSequence/index|سلسلة الحروف]] فارغة أو لم يكن هناك أي حرف  يحقق  الشرط المنطقي <code>predicate</code>. 
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
fun CharSequence.firstOrNull(): Char?  
fun CharSequence.lastOrNull(): Char?  


inline fun CharSequence.firstOrNull(
inline fun CharSequence.lastOrNull(
     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> ===
دالةٌ تمثل الشرط المراد تطبيقه على كل محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] المعطاة. يمرر إلى هذه الدالة قيمة المحرف وتعيد قيمةً منطقيةً.


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


==أمثلة==
==أمثلة==
===استخدام الدالة <code>()lastOrNull</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()lastOrNull</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()lastOrNull</code> عبرها مع تمرير دالة منطقية كوسيط، كما تستدعيها كذلك عبر [[Kotlin/String|سلسلة نصية]] فارغة، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "hsoub Wiki"  
    val str = "Hsoub Wiki"
      
 
println(str.firstOrNull {it.isUpperCase()} ) //  W
     println("Hsoub Wiki".lastOrNull { it.isUpperCase() }) //  W
println("".firstOrNull () ) // null
    println("".lastOrNull()) // null
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/first|first()]]</code>: تعيد [[Kotlin/Char/index|الحرف]] الأول من [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استُدعيت عبرها، وفي حال تمرير دالة منطقية <code>predicate</code> كوسيط فستعيد  [[Kotlin/Char/index|الحرف]] الأول الذي يحقق الشرط المنطقي <code>predicate</code>. 
*الدالة <code>[[Kotlin/kotlin.text/last|last()]]</code>: تجلب آخر محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
* <code>[[Kotlin/kotlin.text/find|find()]]</code>: تعيد أول حرف من سلسلة الحروف التي استُدعيت عبرها يحقق الشرط المنطقي <code>predicate.</code>
*الدالة <code>[[Kotlin/kotlin.text/lastIndexOf|lastIndexOf()‎]]</code>: تجلب فهرس آخر ظهور لمحرف أو سلسلة نصية محدَّدة من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها
 
*الدالة <code>[[Kotlin/kotlin.text/lastIndexOfAny|lastIndexOfAny()]]</code>: تجلب فهرس آخر ظهور لأيٍّ منه المحارف أو السلاسل النصية المعطاة من <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
* <code>[[Kotlin/kotlin.text/filterIndexed|filterIndexed()]]‎</code>: تعيد الدالة <code>filterIndexed()</code>‎ كل الحروف من سلسلة الحروف التي استُدعيت عبرها والتي تحقق الشرط المنطقي. يمرَّر فهرس كل عنصر وقيمته إلى الدالة <code>predicate()‎</code> ثم تعيد بدورها قيمة منطقيَّة. 
*الدالة <code>[[Kotlin/kotlin.text/firstOrNull|firstOrNull()]]‎</code>: تجلب أول محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو أول عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
 
*الدالة <code>[[Kotlin/kotlin.text/find|find()]]</code>: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له.
* <code>[[Kotlin/kotlin.text/elementAt|elementAt()]]</code>: تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناء <code>IndexOutOfBoundsException</code>. 
 
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/first-or-null.html الدالة text.lastOrNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/last-or-null.html الدالة CharSequence.lastOrNull()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]
[[تصنيف:Kotlin CharSequence]]

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

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

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

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

fun CharSequence.lastOrNull(): Char? 

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

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

المعاملات

predicate

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

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

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

أمثلة

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

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

    println("Hsoub Wiki".lastOrNull { it.isUpperCase() }) //  W
    println("".lastOrNull()) // null
}

انظر أيضًا

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

مصادر