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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>copyOfRange()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>copyOfRange()‎</code> نسخة من [...'
 
طلا ملخص تعديل
 
(5 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOfRange()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOfRange()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>copyOfRange()‎</code> نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة الناتجة. 
تنسخ الدالة <code>copyOfRange()‎</code> مجالًا محدَّدًا من [[Kotlin/Array|المصفوفة]] التي استُدعيت معها.  


==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
inline fun <T> Array<T>.copyOf(): Array<T>  
inline fun <T> Array<T>.copyOfRange(
inline fun ByteArray.copyOf(): ByteArray  
    fromIndex: Int,
inline fun ShortArray.copyOf(): ShortArray  
    toIndex: Int
inline fun IntArray.copyOf(): IntArray  
): Array<T>  
inline fun LongArray.copyOf(): LongArray  
inline fun ByteArray.copyOfRange(
inline fun FloatArray.copyOf(): FloatArray  
    fromIndex: Int,
inline fun DoubleArray.copyOf(): DoubleArray  
    toIndex: Int
inline fun BooleanArray.copyOf(): BooleanArray
): ByteArray  
inline fun CharArray.copyOf(): CharArray  
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  
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).


</syntaxhighlight>
== المعاملات ==
 
=== <code>fromIndex</code> ===
عدد صحيح يشير إلى العنصر الذي يمثل بداية المجال المراد نسخه.


<syntaxhighlight lang="kotlin">
=== <code>toIndex</code> ===
inline fun ByteArray.copyOf(newSize: Int): ByteArray
عدد صحيح يشير إلى العنصر الذي يمثل نهاية المجال المراد نسخه (لا يدخل هذا العنصر ضمن المجال).
inline fun ShortArray.copyOf(newSize: Int): ShortArray
inline fun IntArray.copyOf(newSize: Int): IntArray
inline fun LongArray.copyOf(newSize: Int): LongArray
inline fun FloatArray.copyOf(newSize: Int): FloatArray
inline fun DoubleArray.copyOf(newSize: Int): DoubleArray
inline fun BooleanArray.copyOf(newSize: Int): BooleanArray
inline fun CharArray.copyOf(newSize: Int): CharArray
inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].


== القيم المعادة ==
== القيم المعادة ==
نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة.
تُعاد مصفوفةٌ جديدةٌ تحتوي على نسخة من العناصر الواقعة بين العنصر ذي الفهرس <code>fromIndex</code> وحتى العنصر ذي الفهرس <code>toIndex</code> في المصفوفة المعطاة. 
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()copyOf</code> مع المصفوفات  ===
===استخدام الدالة <code>()copyOf</code> مع المصفوفات  ===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من أربعة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()copyOf</code> للحصول على نسخة من [[Kotlin/Array|المصفوفة]] <code>array</code> باسم <code>array2</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.copyOf()
    val array2 = array.copyOfRange(1, 3)
println(array2.contentToString()) // [1, 2, 3, 4]
}
</syntaxhighlight>


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


*<code>[[Kotlin/collections/copyOfRange|copyOfRange()]]</code>‎:تعيد مجالًا من [[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.html الدالة  copyOfRange()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/copy-of-range.html صفحة الدالة copyOfRange()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 07:37، 8 سبتمبر 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

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

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

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

مصادر