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

من موسوعة حسوب
لا ملخص تعديل
مراجعة وتدقيق.
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع text.last()‎ في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>CharSequence.last()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>last()</code>آخر حروف في [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها، وفي حال تمرير شرط منطقي فستعيد آخر حرف يحقق ذلك الشرط.
تجلب الدالة <code>last()</code> آخر محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو آخر محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
 
إن كانت <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت الدالة <code>last()‎</code> معها فارغةً أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممرَّرة إليها، فستُطلِق الدالة الاستثناء <code>NoSuchElementException</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
سطر 8: سطر 10:
     predicate: (Char) -> Boolean
     predicate: (Char) -> Boolean
): Char
): Char
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inlinشe</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).
==القيم المعادة==
 
[[Kotlin/Char/index|حرف]].
== المعاملات ==
 
=== <code>predicate</code> ===
دالةٌ تمثل الشرط المراد تطبيقه على كل محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] المعطاة. يمرر إلى هذه الدالة قيمة المحرف وتعيد قيمةً منطقيةً مقابلة له.
 
== القيم المعادة ==
يُعاد آخر محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] المعطاة إن لم يُمرَّر إلى الدالة أي معامل، أو آخر عنصر يحق الشرط المحدد في المعامل <code>predicate</code> إن أعطي.
 
==أمثلة==
==أمثلة==
===استخدام الدالة <code>last()‎</code> مع السلاسل النصية===
مثالٌ على استعمال الدالة <code>last()‎</code>:<syntaxhighlight lang="kotlin">
تُعرّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثم تستدعي الدالة <code>last()‎</code> عبرها مرة بدون وسيط ومرة بتمرير دالة منطقية كوسيط، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {     
fun main(args: Array<String>) {     
     val str = "hsoUb"  
     val str = "hsoUb"  
سطر 23: سطر 31:
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
*<code>[[Kotlin/kotlin.text/isEmpty|isEmpty()]]</code>: تعيد الدالة <code>isEmpty()</code>‎ القيمة <code>true</code> في حال كانت [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها فارغة.
*الدالة <code>[[Kotlin/kotlin.text/lastIndexOf|lastIndexOf()]]</code>: تجلب فهرس آخر ظهور لمحرف أو سلسلة نصية محدَّدة من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها. 
*<code>[[Kotlin/text/isHighSurrogate|isHighSurrogate()]]</code>: تعيد القيمة <code>true</code> في حال كان الحرف الذي استٌدعيت عبره بديلًا علويًا لكود اليونيكود (Unicode high-surrogate code unit).
*الدالة <code>[[Kotlin/kotlin.text/lastIndexOfAny|lastIndexOfAny()‎]]</code>: تجلب فهرس آخر ظهور لأيٍّ منه المحارف أو السلاسل النصية المعطاة من <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
*<code>[[Kotlin/text/isDefined|isDefined()]]‎</code>: تعيد القيمة <code>true</code> في حال كان الحرف (Unicode code point) الذي استٌدعيت عبره مُعرّفًا في اليونيكود (Unicode).
*الدالة <code>[[Kotlin/kotlin.text/lastOrNull|lastOrNull()]]</code>: تجلب آخر محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يُمرَّر إليها أي شيء، أو آخر عنصر يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
*الدالة <code>[[Kotlin/kotlin.text/first|first()]]‎</code>: تجلب أول محرف من محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها إن لم يمرر إليها أي شيء، أو أول محرف يحقق شرطًا معيَّنًا في حال تمرير دالة منطقية إليها.
*الدالة <code>[[Kotlin/kotlin.text/indexOfFirst|indexOfFirst()‎]]</code>: تجلب فهرس أول محرف يحقِّق شرطًا معيَّنًا من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها.
*الدالة <code>[[Kotlin/kotlin.text/elementAt|elementAt()]]‎</code>: تجلب محرفًا ذي فهرس معيَّن من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] التي استُدعيت معها.
*الدالة <code>[[Kotlin/kotlin.text/filter|filter()‎]]</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/last.html صفحة الدالة text.last()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/last.html صفحة الدالة CharSequence.last()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Method]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]
[[تصنيف:Kotlin CharSequence]]

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

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

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

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

fun CharSequence.last(): Char (source)

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

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

المعاملات

predicate

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

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

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

أمثلة

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

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

    print(str.last()) // b 
    print( str.last { it.isUpperCase() } ) // U
}

انظر أيضًا

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

مصادر