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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
(5 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOf()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOf()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>copyOf()‎</code> نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة الناتجة.   
+
تنسخ الدالة <code>copyOf()‎</code> كامل [[Kotlin/Array|المصفوفة]] التي استُدعيت معها أو جزءًا منها.    
  
 
==البنية العامة==
 
==البنية العامة==
سطر 26: سطر 26:
 
inline fun CharArray.copyOf(newSize: Int): CharArray  
 
inline fun CharArray.copyOf(newSize: Int): CharArray  
 
inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
 
inline fun <T> Array<T>.copyOf(newSize: Int): Array<T?>
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
 +
 
 +
== المعاملات ==
 +
 
 +
=== <code>newSize</code> ===
 +
عدد صحيح يمثل الحجم الجديد للمصفوفة المراد نسخها.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة.
+
يُعاد نسخةٌ جديدةٌ لكامل [[Kotlin/Array|المصفوفة]] التي استدعيت الدالة معها، أو لجزء محدَّد منها إن أعطي المعامل <code>newSize</code>.
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()copyOf</code> مع المصفوفات ===
+
استخدام الدالة <code>()copyOf</code> مع المصفوفات:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[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()
+
    val array2 = array.copyOf()
println(array2.contentToString()) // [1, 2, 3, 4]
+
 
 +
    println(array2.contentToString()) // [1, 2, 3, 4]
 
}
 
}
</syntaxhighlight>
+
</syntaxhighlight>استخدام الدالة <code>()copyOf</code> مع المصفوفات مع تحديد العناصر المراد نسخها:<syntaxhighlight lang="kotlin">
 +
fun main(args: Array<String>) {
 +
    val array = arrayOf(1, 2, 3, 4)
 +
    val array2 = array.copyOf(2)
  
===استخدام الدالة <code>()copyOf</code> مع المصفوفات مع تمرير وسيط لتحديد الحجم  ===
+
    println(array2.contentToString()) // [1, 2]
تعرف الشيفرة الآتية [[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: سطر 54:
 
==انظر أيضًا==
 
==انظر أيضًا==
  
*<code>[[Kotlin/collections/copyOfRange|copyOfRange()]]</code>‎:تعيد  مجالًا من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها.  
+
*الدالة <code>[[Kotlin/collections/copyOfRange|copyOfRange()]]</code>‎: تنسخ مجالًا محدَّدًا من [[Kotlin/Array|المصفوفة]] التي استُدعيت معها.
 +
*التابع <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 الدالة  copyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/copy-of.html صفحة الدالة copyOf()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

المراجعة الحالية بتاريخ 07:37، 8 سبتمبر 2018

تنسخ الدالة copyOf()‎ كامل المصفوفة التي استُدعيت معها أو جزءًا منها.  

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

inline fun <T> Array<T>.copyOf(): Array<T> 
inline fun ByteArray.copyOf(): ByteArray 
inline fun ShortArray.copyOf(): ShortArray 
inline fun IntArray.copyOf(): IntArray 
inline fun LongArray.copyOf(): LongArray 
inline fun FloatArray.copyOf(): FloatArray 
inline fun DoubleArray.copyOf(): DoubleArray 
inline fun BooleanArray.copyOf(): BooleanArray
inline fun CharArray.copyOf(): CharArray
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?>

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

المعاملات

newSize

عدد صحيح يمثل الحجم الجديد للمصفوفة المراد نسخها.

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

يُعاد نسخةٌ جديدةٌ لكامل المصفوفة التي استدعيت الدالة معها، أو لجزء محدَّد منها إن أعطي المعامل newSize.

أمثلة

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

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4)
    val array2 = array.copyOf()

    println(array2.contentToString()) // [1, 2, 3, 4]
}

استخدام الدالة ()copyOf مع المصفوفات مع تحديد العناصر المراد نسخها:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4)
    val array2 = array.copyOf(2)

    println(array2.contentToString()) // [1, 2]
}

انظر أيضًا

مصادر