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

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

تنسخ الدالة copyOfRange()‎ مجالًا محدَّدًا من المصفوفة التي استُدعيت معها.

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

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 يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع توثيق الدوال المباشرة).

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

تُعاد مصفوفةٌ جديدةٌ تحتوي على نسخة من العناصر الواقعة بين العنصر ذي الفهرس fromIndex وحتى العنصر ذي الفهرس toIndex في المصفوفة المعطاة. 

أمثلة

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

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()copyOfRange لنسخ العنصر الثاني والثالث من تلك المصفوفة وتطبع سلسلة نصية تمثل هذه العناصر المنسوخة بواسطة الدالة ()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()‎: تنسخ الدالة كامل المصفوفة التي استُدعيت معها أو جزءًا منها. 
  • التابع Array.get()‎: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.
  • الدالة count()‎: تعيد عدد عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها. 

مصادر