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

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

تعيد الدالةcopyOfRange()‎ مصفوفة جديدة، والتي هي نسخة من مجال (range) من المصفوفة التي استُدعيت عبرها.

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

inline fun <T> Array<T>.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): Array<T> 
inline fun ByteArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): ByteArray 
inline fun ShortArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): ShortArray 
inline fun IntArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): IntArray 
inline fun LongArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): LongArray 
inline fun FloatArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): FloatArray 
inline fun DoubleArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): DoubleArray 
inline fun BooleanArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): BooleanArray 
inline fun CharArray.copyOfRange(
    fromIndex: Int, 
    toIndex: Int
): CharArray

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

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

مصفوفة جديدة، والتي هي نسخة من مجال (range) من المصفوفة التي استُدعيت عبرها.

أمثلة

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

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من أربعة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()copyOfRange للحصول على نسخة باسم array2 من من المجال المحدد (من العنصر ذي الفهرس 1 حتى العنصر ذي الفهرس 2) من المصفوفة array ثم تطبع التمثيل النصي للمصفوفة array2 بواسطة الدالة contentToString:

fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = array.copyOfRange(1,3)
println(array2.contentToString()) // [2, 3]
}

انظر أيضًا

  • copyOf()‎:تعيد نسخة من المصفوفة التي استُدعيت عبرها. مع إمكانية تحديد حجم المصفوفة الناتجة.

مصادر