الدالة fold()‎ في لغة Kotlin

من موسوعة حسوب
مراجعة 18:18، 16 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>fold()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>fold()‎</code> Kotlin/collections/List|ل...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدالةfold()‎ لائحة تحتوي جميع عناصر المصفوفات أو المجموعات التي تنتمي إلى المصفوفة أو المجموعة التي استُدعيت عبرها.

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

يمكن استدعاء الدالةflatten()‎ على المصفوفات.

fun <T> Array<out Array<out T>>.flatten(): List<T>

يمكن استدعاء الدالةflatten()‎ على المجموعات.

fun <T> Iterable<Iterable<T>>.flatten(): List<T>

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

لائحة تحتوي جميع عناصر المصفوفات أو المجموعات التي تنتمي إلى المصفوفة أو المجموعة التي استُدعيت عبرها.

أمثلة

استخدام الدالة ()flatten مع المصفوفات

تعرف الشيفرة الآتية مصفوفة باسم deepArrayمكونة من ثلاثة مصفوفات باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()flatten لإنشاء لائحة تضم جميع عناصر  المصفوفات المُنتمية إلى deepArray، ثم تطبع الناتج:

fun main(args: Array<String>) {
val deepArray = arrayOf(
    arrayOf(1),
    arrayOf(2, 3),
    arrayOf(4, 5, 6)
)

println(deepArray.flatten()) // [1, 2, 3, 4, 5, 6]
}

استخدام الدالة ()fold مع اللوائح

تعرف الشيفرة الآتية لائحة باسم deepListمكونة من ثلاثة لوائح باستخدام الدالة ()listOf، ثم تستخدم الدالة ()flatten لإنشاء لائحة تضم جميع عناصر  اللوائح المُنتميةإلى deepList، ثم تطبع الناتج:

fun main(args: Array<String>) {
val deepList = listOf(listOf(1), listOf(2, 3), listOf(4, 5, 6))
println(deepList.flatten()) // [1, 2, 3, 4, 5, 6]
}

انظر أيضًا

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

مصادر