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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
سطر 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|توثيق الدوال المباشرة]]).
  
 
== القيم المعادة ==
 
== القيم المعادة ==
نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة.
+
يُعاد نسخةٌ جديدةٌ لكامل [[Kotlin/Array|المصفوفة]] التي استدعيت الدالة معها، أو لجزء محدَّد منها إن أعطي المعامل <code>newSize</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>()copyOf</code> لإنشاء نسخة من هذه المصفوفة باسم <code>array2</code>. تستعمل بعد ذلك الدالة <code>[[Kotlin/collections/contentToString|()contentToString]]</code> لطبع سلسلة نصية تمثل المصفوفة <code>array2</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)
سطر 40: سطر 40:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===استخدام الدالة <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>()copyOf</code> لنسخ أول عنصرين من تلك المصفوفة وتسميتهما باسم <code>array2</code>. تستعمل بعد ذلك الدالة <code>[[Kotlin/collections/contentToString|()contentToString]]</code> لطبع سلسلة نصية تمثل المصفوفة <code>array2</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)
سطر 51: سطر 51:
 
==انظر أيضًا==
 
==انظر أيضًا==
  
*<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 Functions]]

مراجعة 09:49، 4 يوليو 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.

أمثلة

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

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()copyOf لإنشاء نسخة من هذه المصفوفة باسم array2. تستعمل بعد ذلك الدالة ()contentToString لطبع سلسلة نصية تمثل المصفوفة array2 الناتجة:

fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = array.copyOf()
println(array2.contentToString()) // [1, 2, 3, 4]
}

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

تعرِّف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()copyOf لنسخ أول عنصرين من تلك المصفوفة وتسميتهما باسم array2. تستعمل بعد ذلك الدالة ()contentToString لطبع سلسلة نصية تمثل المصفوفة array2 الناتجة:

fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4)
val array2 = array.copyOf(2)
println(array2.contentToString()) // [1, 2]
}

انظر أيضًا

مصادر