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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>copyOf()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>copyOf()‎</code>تمثيلًا نصيًا...')
 
سطر 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|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة الناتجة.   
  
 
==البنية العامة==
 
==البنية العامة==
 
<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
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
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/String|String]]) لمحتوى [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها كما لو كانت [[Kotlin/List|لائحة]].
+
نسخة من [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها. مع إمكانية تمرير <code>newSize</code> كمعامل (parameter) لتحديد حجم المصفوفة.
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()copyOf</code> مع المصفوفات  ===
 
===استخدام الدالة <code>()copyOf</code> مع المصفوفات  ===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ثلاث سلاسل نصية باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()contentToString</code> للحصول على تمثيل نصي [[Kotlin/Array|للمصفوفة]] ثم تطبع الناتج:<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("apples", "oranges", "lime")
+
val array = arrayOf(1,2,3,4)
 +
val array2 = array.copyOf()
 +
println(array2.contentToString()) // [1, 2, 3, 4]
 +
}
 +
</syntaxhighlight>
  
println(array.contentToString()) // [apples, oranges, lime]
+
===استخدام الدالة <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">
 +
fun main(args: Array<String>) {
 +
val array = arrayOf(1,2,3,4)
 +
val array2 = array.copyOf(2)
 +
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|المصفوفة]] التي استُدعيت عبرها.  
  
 
==مصادر==
 
==مصادر==
*[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 Functions]]

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

تعيد الدالةcopyOf()‎ نسخة من المصفوفة التي استُدعيت عبرها. مع إمكانية تمرير newSize كمعامل (parameter) لتحديد حجم المصفوفة الناتجة.

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

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 للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).

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

نسخة من المصفوفة التي استُدعيت عبرها. مع إمكانية تمرير newSize كمعامل (parameter) لتحديد حجم المصفوفة.

أمثلة

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

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من أربعة أعداد باستخدام الدالة ()arrayOf، ثم تستخدم الدالة ()copyOf للحصول على نسخة من المصفوفة array باسم array2ثم تطبع التمثيل النصي للمصفوفة array2 بواسطة الدالة contentToString:

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 للحصول على نسخة من العنصرين الأوليّين من المصفوفة array باسم array2ثم تطبع التمثيل النصي للمصفوفة array2 بواسطة الدالة contentToString:

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

انظر أيضًا

مصادر