الفرق بين المراجعتين ل"Kotlin/collections/first"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>first()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>first()‎</code> العنصر الأخير...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>first()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>first()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>first()‎</code> العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد <code>null.</code>
+
تعيد الدالة<code>first()‎</code> العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها، وفي حال تمرير دالة منطقية كمعامل فستعيد أول عنصر يحقق تلك الدالة.
 +
 
 +
إن كانت  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت  الدالة<code>first()‎</code>عبرها فارغة أو لم يكن هناك أي عنصر يحقق الدالة المنطقية الممررة إليها فستطلق الدالة الاستثناء <code>NoSuchElementException</code>.
 
==البنية العامة==
 
==البنية العامة==
<syntaxhighlight lang="kotlin">
+
في حال استدعاء الدالة<code>first()‎</code> بدون معامل فستعيد العنصر الأول.<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.findLast(
+
fun <T> Array<out T>.first(): T
 +
fun ByteArray.first(): Byte
 +
fun ShortArray.first(): Short
 +
fun IntArray.first(): Int
 +
fun LongArray.first(): Long
 +
fun FloatArray.first(): Float
 +
fun DoubleArray.first(): Double
 +
fun BooleanArray.first(): Boolean
 +
fun CharArray.first(): Char
 +
 
 +
</syntaxhighlight>في حال استدعاء الدالة<code>first()‎</code> مع دالة منطقية كمعامل فستعيد العنصر الأول الذي يحقق تلك الدالة.<syntaxhighlight lang="kotlin">
 +
inline fun <T> Array<out T>.first(
 
     predicate: (T) -> Boolean
 
     predicate: (T) -> Boolean
): T?
+
): T  
inline fun ByteArray.findLast(
+
inline fun ByteArray.first(
 
     predicate: (Byte) -> Boolean
 
     predicate: (Byte) -> Boolean
): Byte?
+
): Byte  
inline fun ShortArray.findLast(
+
inline fun ShortArray.first(
 
     predicate: (Short) -> Boolean
 
     predicate: (Short) -> Boolean
): Short?
+
): Short  
inline fun IntArray.findLast(
+
inline fun IntArray.first(predicate: (Int) -> Boolean): Int (source)
    predicate: (Int) -> Boolean
+
inline fun LongArray.first(
): Int?
 
inline fun LongArray.findLast(
 
 
     predicate: (Long) -> Boolean
 
     predicate: (Long) -> Boolean
): Long?
+
): Long  
inline fun FloatArray.findLast(
+
inline fun FloatArray.first(
 
     predicate: (Float) -> Boolean
 
     predicate: (Float) -> Boolean
): Float?
+
): Float  
inline fun DoubleArray.findLast(
+
inline fun DoubleArray.first(
 
     predicate: (Double) -> Boolean
 
     predicate: (Double) -> Boolean
): Double?
+
): Double  
inline fun BooleanArray.findLast(
+
inline fun BooleanArray.first(
 
     predicate: (Boolean) -> Boolean
 
     predicate: (Boolean) -> Boolean
): Boolean?
+
): Boolean  
inline fun CharArray.findLast(
+
inline fun CharArray.first(
 
     predicate: (Char) -> Boolean
 
     predicate: (Char) -> Boolean
): Char?
+
): Char
inline fun <T> Iterable<T>.findLast(
+
inline fun <T> Iterable<T>.first(
 
     predicate: (T) -> Boolean
 
     predicate: (T) -> Boolean
): T?
+
): T  
inline fun <T> List<T>.findLast(
 
    predicate: (T) -> Boolean
 
): T?
 
  
 +
</syntaxhighlight>في حال استدعاء الدالة<code>first()‎</code> بدون معامل على<nowiki/>[[Kotlin/collections|مجموعة]] أو [[Kotlin/collections/List|لائحة]] فستعيد العنصر الأول الأول:<syntaxhighlight lang="kotlin">
 +
fun <T> List<T>.first(): T
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
==القيم المٌعادة==
 
==القيم المٌعادة==
العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
+
العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها، وفي حال تمرير دالة منطقية كمعامل فستعيد أول عنصر يحقق تلك الدالة.  
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()first</code> مع المصفوفات: الحالة الأولى===
 
===استخدام الدالة <code>()first</code> مع المصفوفات: الحالة الأولى===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>3</code> ، ثم تستخدم الدالة <code>()first</code> لإيجاد العنصر الأخير في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()first</code> لإيجاد العنصر  الأول في [[Kotlin/Array|المصفوفة]]<code>array</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 6)
+
val array = arrayOf(9, 2, 3, 0,6)
val predicate  : (Int) -> Boolean = { it < 3 }
 
  
println(array.findLast(predicate)) // 2
+
println(array.first()) // 9
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
===استخدام الدالة <code>()first</code> مع المصفوفات: الحالة الثانية===
 
===استخدام الدالة <code>()first</code> مع المصفوفات: الحالة الثانية===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>0</code> ، ثم تستخدم الدالة <code>()first</code> لإيجاد العنصر الأخير في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ولمّا كانت كل عناصر <code>array</code> لا تحقق ذلك فستعيد القيمة <code>null</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تُعرّف الدالة المنطقية <code>()predicate</code> التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من <code>3</code> ، ثم تستخدم الدالة <code>()first</code> لإيجاد العنصر الأول في [[Kotlin/Array|المصفوفة]]<code>array</code> الذي يحقق الدالة <code>()predicate</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 2, 5, 1)
+
val array = arrayOf(9, 2, 3, 0,6)
val predicate  : (Int) -> Boolean = { it < 0 }
+
val predicate  : (Int) -> Boolean = { it < 3 }
  
println(array.find(predicate)) // null
+
println(array.first(predicate)) // 2
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
 
*<code>[[Kotlin/collections/find|find()]]</code>‎: تعيد العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
 
*<code>[[Kotlin/collections/find|find()]]</code>‎: تعيد العنصر الأول من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
 +
*<code>[[Kotlin/collections/findLast|findLast()]]</code>‎: تعيد العنصر الأخير من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي <code>predicate</code> المُمرّر إليها. وإن لم يكن هناك  أي عنصر يحقق ذلك فستعيد <code>null.</code>
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/find-last.html الدالة  first()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/first.html الدالة  first()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 19:09، 15 مايو 2018

تعيد الدالةfirst()‎ العنصر الأول من المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال تمرير دالة منطقية كمعامل فستعيد أول عنصر يحقق تلك الدالة.

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

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

في حال استدعاء الدالةfirst()‎ بدون معامل فستعيد العنصر الأول.

fun <T> Array<out T>.first(): T 
fun ByteArray.first(): Byte 
fun ShortArray.first(): Short 
fun IntArray.first(): Int 
fun LongArray.first(): Long 
fun FloatArray.first(): Float 
fun DoubleArray.first(): Double 
fun BooleanArray.first(): Boolean 
fun CharArray.first(): Char

في حال استدعاء الدالةfirst()‎ مع دالة منطقية كمعامل فستعيد العنصر الأول الذي يحقق تلك الدالة.

inline fun <T> Array<out T>.first(
    predicate: (T) -> Boolean
): T 
inline fun ByteArray.first(
    predicate: (Byte) -> Boolean
): Byte 
inline fun ShortArray.first(
    predicate: (Short) -> Boolean
): Short 
inline fun IntArray.first(predicate: (Int) -> Boolean): Int (source)
inline fun LongArray.first(
    predicate: (Long) -> Boolean
): Long 
inline fun FloatArray.first(
    predicate: (Float) -> Boolean
): Float 
inline fun DoubleArray.first(
    predicate: (Double) -> Boolean
): Double 
inline fun BooleanArray.first(
    predicate: (Boolean) -> Boolean
): Boolean 
inline fun CharArray.first(
    predicate: (Char) -> Boolean
): Char
inline fun <T> Iterable<T>.first(
    predicate: (T) -> Boolean
): T

في حال استدعاء الدالةfirst()‎ بدون معامل علىمجموعة أو لائحة فستعيد العنصر الأول الأول:

fun <T> List<T>.first(): T

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

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

العنصر الأول من المصفوفة أو المجموعة التي استُدعيت عبرها، وفي حال تمرير دالة منطقية كمعامل فستعيد أول عنصر يحقق تلك الدالة.

أمثلة

استخدام الدالة ()first مع المصفوفات: الحالة الأولى

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()first لإيجاد العنصر  الأول في المصفوفةarray، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 0,6)

println(array.first()) // 9
}

استخدام الدالة ()first مع المصفوفات: الحالة الثانية

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تُعرّف الدالة المنطقية ()predicate التي تحدد ما إذا كان العدد المُمرّر إليها أصغر من 3 ، ثم تستخدم الدالة ()first لإيجاد العنصر الأول في المصفوفةarray الذي يحقق الدالة ()predicate، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(9, 2, 3, 0,6)
val predicate  : (Int) -> Boolean = { it < 3 }

println(array.first(predicate)) // 2
}

انظر أيضًا

  • find()‎: تعيد العنصر الأول من المصفوفة أو المجموعة التي استُدعيت عبرها والذي يحقق الشرط المنطقي predicate المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد null.
  • findLast()‎: تعيد العنصر الأخير من المصفوفة أو المجموعة التي استُدعيت عبرها والذي يحقق الشرط المنطقي predicate المُمرّر إليها. وإن لم يكن هناك أي عنصر يحقق ذلك فستعيد null.

مصادر