الدالة fill()‎ في Kotlin

من موسوعة حسوب
< Kotlin‏ | collections
مراجعة 11:35، 30 أغسطس 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - 'Kotlin Functions' ب'Kotlin Function')
اذهب إلى التنقل اذهب إلى البحث

تبدِّل الدالة fill()‎ قيمة جديدة معطاة مكان عناصر محدَّدة في المصفوفة أو القائمة التي تستدعى معها.

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

يمكن استدعاء الدالة fill()‎ مع المصفوفات:

fun <T> Array<T>.fill(
    element: T, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun ByteArray.fill(
    element: Byte, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun ShortArray.fill(
    element: Short, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun IntArray.fill(
    element: Int, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun LongArray.fill(
    element: Long, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun FloatArray.fill(
    element: Float, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun DoubleArray.fill(
    element: Double, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun BooleanArray.fill(
    element: Boolean, 
    fromIndex: Int = 0, 
    toIndex: Int = size)
fun CharArray.fill(
    element: Char, 
    fromIndex: Int = 0, 
    toIndex: Int = size)

ويمكن استدعاء الدالةfill()‎ مع القوائم (بدءًا من الإصدار: Kotlin 1.2):

inline fun <T> MutableList<T>.fill(value: T)

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

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

تٌعاد المصفوفة أو القائمة نفسها بعد تبديل القيمة element المعطاة مكان قيم العناصر الواقعة بين العنصر ذي الفهرس fromIndex وحتى العنصر toIndex (لا يدخل هذا العنصر ضمن المجال) أو آخر عنصر إن لم يعطَ قيمة هذا المعامل.

أمثلة

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

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()fill لتبديل القيمة 12 مكان العنصر الثالث والرابع في هذه المصفوفة. تطبع بعدئذٍ سلسلة نصية تمثل المصفوفة الناتجة باستخادم الدالة ()contentToString:

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

    println(array.contentToString()) // [1, 2, 12, 12, 5, 6]
}

انظر أيضًا

مصادر