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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>copyOf()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>copyOf()‎</code>تمثيلًا نصيًا...')
 
ط
 
(6 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOf()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>copyOf()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>copyOf()‎</code>تمثيلًا نصيًا لمحتوى [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت [[Kotlin/List|لائحة]].   
+
تنسخ الدالة <code>copyOf()‎</code> كامل [[Kotlin/Array|المصفوفة]] التي استُدعيت معها أو جزءًا منها.    
  
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.contentToString(): String
+
inline fun <T> Array<T>.copyOf(): Array<T>
inline fun ByteArray.contentToString(): String
+
inline fun ByteArray.copyOf(): ByteArray
inline fun ShortArray.contentToString(): String
+
inline fun ShortArray.copyOf(): ShortArray
inline fun IntArray.contentToString(): String
+
inline fun IntArray.copyOf(): IntArray
inline fun LongArray.contentToString(): String
+
inline fun LongArray.copyOf(): LongArray
inline fun FloatArray.contentToString(): String
+
inline fun FloatArray.copyOf(): FloatArray
inline fun DoubleArray.contentToString(): String
+
inline fun DoubleArray.copyOf(): DoubleArray
inline fun BooleanArray.contentToString(): String
+
inline fun BooleanArray.copyOf(): BooleanArray
inline fun CharArray.contentToString(): String
+
inline fun CharArray.copyOf(): CharArray
  
 
</syntaxhighlight>
 
</syntaxhighlight>
  
<u>'''الإصدار المطلوب: Kotlin 1.1'''</u>
+
<syntaxhighlight lang="kotlin">
 +
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|توثيق الدوال المباشرة]]).
  
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
== المعاملات ==
 +
 
 +
=== <code>newSize</code> ===
 +
عدد صحيح يمثل الحجم الجديد للمصفوفة المراد نسخها.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
تمثيل نصي ([[Kotlin/String|String]]) لمحتوى [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت [[Kotlin/List|لائحة]].
+
يُعاد نسخةٌ جديدةٌ لكامل [[Kotlin/Array|المصفوفة]] التي استدعيت الدالة معها، أو لجزء محدَّد منها إن أعطي المعامل <code>newSize</code>.
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()copyOf</code> مع المصفوفات ===
+
استخدام الدالة <code>()copyOf</code> مع المصفوفات:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ثلاث سلاسل نصية باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contentToString</code> للحصول على تمثيل نصي [[Kotlin/Array|للمصفوفة]] ثم تطبع الناتج:<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>()copyOf</code> مع المصفوفات مع تحديد العناصر المراد نسخها:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf("apples", "oranges", "lime")
+
    val array = arrayOf(1, 2, 3, 4)
 +
    val array2 = array.copyOf(2)
  
println(array.contentToString()) // [apples, oranges, lime]
+
    println(array2.contentToString()) // [1, 2]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 
==انظر أيضًا==
 
==انظر أيضًا==
* <code>[null contentDeepToString()]</code>‎:تعيد تمثيلًا نصيًا استنادًا إلى محتوى <nowiki/>[[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت لائحة، <nowiki/>[[Kotlin/Array|المصفوفات]] المُتشعبة تعامل كاللوائح هي كذلك.
 
  
*<code>[[Kotlin/collections/contentHashCode|contentHashCode()]]</code>‎:تعيد التكويد (hash code) استنادًا إلى محتوى [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت [[Kotlin/List|لائحة]].  
+
*الدالة <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/content-to-string.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]
}

انظر أيضًا

مصادر