الفرق بين المراجعتين ل"Kotlin/collections/copyOfRange"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>copyOfRange()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>copyOfRange()‎</code> نسخة من [...')
 
سطر 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|مصفوفة]] جديدة، والتي هي نسخة من مجال (range) من [[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,
</syntaxhighlight>
+
    toIndex: Int
 
+
): ShortArray
<syntaxhighlight lang="kotlin">
+
inline fun IntArray.copyOfRange(
inline fun ByteArray.copyOf(newSize: Int): ByteArray
+
    fromIndex: Int,
inline fun ShortArray.copyOf(newSize: Int): ShortArray
+
    toIndex: Int
inline fun IntArray.copyOf(newSize: Int): IntArray
+
): IntArray
inline fun LongArray.copyOf(newSize: Int): LongArray  
+
inline fun LongArray.copyOfRange(
inline fun FloatArray.copyOf(newSize: Int): FloatArray  
+
    fromIndex: Int,
inline fun DoubleArray.copyOf(newSize: Int): DoubleArray  
+
    toIndex: Int
inline fun BooleanArray.copyOf(newSize: Int): BooleanArray  
+
): LongArray  
inline fun CharArray.copyOf(newSize: Int): CharArray
+
inline fun FloatArray.copyOfRange(
inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
+
    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|توثيق الدوال المباشرة (inline functions)]].
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
  
 
== القيم المعادة ==
 
== القيم المعادة ==
نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة.
+
[[Kotlin/Array|مصفوفة]] جديدة، والتي هي نسخة من مجال (range) من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها.  
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <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> للحصول على نسخة باسم <code>array2</code> من من المجال المحدد (من العنصر ذي الفهرس 1 حتى العنصر ذي الفهرس 2) من [[Kotlin/Array|المصفوفة]] <code>array</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()
 
println(array2.contentToString()) // [1, 2, 3, 4]
 
}
 
</syntaxhighlight>
 
 
 
===استخدام الدالة <code>()copyOfRange</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">
 
 
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(2)
+
val array2 = array.copyOfRange(1,3)
println(array2.contentToString()) // [1, 2]
+
println(array2.contentToString()) // [2, 3]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 51: سطر 56:
 
==انظر أيضًا==
 
==انظر أيضًا==
  
*<code>[[Kotlin/collections/copyOfRange|copyOfRange()]]</code>‎:تعيد  مجالًا من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها.  
+
*<code>[[Kotlin/collections/copyOf|copyOf()]]</code>‎:تعيد  نسخة من <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تحديد حجم المصفوفة الناتجة.  
  
 
==مصادر==
 
==مصادر==
*[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 Functions]]

مراجعة 13:32، 13 مايو 2018

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

مصادر