الفرق بين المراجعتين لصفحة: «Kotlin/collections/copyOfRange»

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOfRange()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOfRange()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>copyOfRange()‎</code> [[Kotlin/Array|مصفوفة]] جديدة، والتي هي نسخة من مجال (range) من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها.   
تنسخ الدالة <code>copyOfRange()‎</code> مجالًا محدَّدًا من [[Kotlin/Array|المصفوفة]] التي استُدعيت معها.   


==البنية العامة==
==البنية العامة==
سطر 40: سطر 40:
     toIndex: Int
     toIndex: Int
): CharArray  
): CharArray  
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).


== القيم المعادة ==
== القيم المعادة ==
[[Kotlin/Array|مصفوفة]] جديدة، والتي هي نسخة من مجال (range) من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها.  
تُعاد مصفوفةٌ جديدةٌ تحتوي على نسخة من العناصر الواقعة بين العنصر ذي الفهرس <code>fromIndex</code> وحتى العنصر ذي الفهرس <code>toIndex</code> في المصفوفة المعطاة. 
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()copyOf</code> مع المصفوفات  ===
===استخدام الدالة <code>()copyOf</code> مع المصفوفات  ===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()copyOfRange</code> للحصول على نسخة باسم <code>array2</code> من من المجال المحدد (من العنصر ذي الفهرس 1 حتى العنصر ذي الفهرس 2) من [[Kotlin/Array|المصفوفة]] <code>array</code> ثم تطبع التمثيل النصي للمصفوفة <code>array2</code> بواسطة الدالة <code>[[Kotlin/collections/contentToString|contentToString]]</code>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()copyOfRange</code> لنسخ العنصر الثاني والثالث من تلك [[Kotlin/Array|المصفوفة]] وتطبع سلسلة نصية تمثل هذه العناصر المنسوخة بواسطة الدالة <code>[[Kotlin/collections/contentToString|()contentToString]]</code>:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
    val array = arrayOf(1,2,3,4)
val array2 = array.copyOfRange(1,3)
    val array2 = array.copyOfRange(1,3)
println(array2.contentToString()) // [2, 3]
 
    println(array2.contentToString()) // [2, 3]
}
}
</syntaxhighlight>
</syntaxhighlight>
سطر 56: سطر 57:
==انظر أيضًا==
==انظر أيضًا==


*<code>[[Kotlin/collections/copyOf|copyOf()]]</code>‎:تعيد  نسخة من <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تحديد حجم المصفوفة الناتجة.  
*الدالة <code>[[Kotlin/collections/copyOf|copyOf()]]</code>‎: تنسخ الدالة كامل المصفوفة التي استُدعيت معها أو جزءًا منها. 
*التابع <code>[[Kotlin/Array/get|Array.get()‎]]</code>: يعيد قيمة العنصر ذي الفهرس (index) المعطى الموجود في مصفوفة.
*الدالة <code>[[Kotlin/collections/count|count()‎]]</code>: تعيد عدد عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/Map|الخريطة]] التي استُدعيت معها. 


==مصادر==
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/copy-of-range.html الدالة  copyOfRange()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/copy-of-range.html الدالة copyOfRange()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Functions]]

مراجعة 09:51، 4 يوليو 2018

تنسخ الدالة 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()‎: تعيد عدد عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها. 

مصادر