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

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

تبدِّل الدالة 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

عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد ملؤه بقيمة المعامل element.

toIndex

عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد ملؤه بقيمة المعامل element (لا يدخل هذا العنصر ضمن المجال).

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

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

أمثلة

تعرف الشيفرة الآتية مصفوفة باسم 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]
}

انظر أيضًا

مصادر