الدالة CharSequence.lastOrNull()‎ في Kotlin

من موسوعة حسوب

تجلب الدالة 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()‎: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد أول ظهور له.

مصادر