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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط
 
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>fill()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>fill()‎</code> في Kotlin}}</noinclude>
تعيّن الدالة<code>fill()‎</code> قيمة العناصر الموجودة في الفهارس المحددة  [[Kotlin/Array|للمصفوفة]] أو [[Kotlin/Array|اللائحة]] التي استُدعيت عبرها وتعطيها القيمة الممررة إليها.
+
تبدِّل الدالة <code>fill()‎</code> قيمة جديدة معطاة مكان عناصر محدَّدة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] التي تستدعى معها.
  
 
== البنية العامة ==
 
== البنية العامة ==
يمكن استدعاء الدالة<code>fill()‎</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin">
+
يمكن استدعاء الدالة <code>fill()‎</code> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
 
fun <T> Array<T>.fill(
 
fun <T> Array<T>.fill(
 
     element: T,  
 
     element: T,  
سطر 40: سطر 40:
 
     fromIndex: Int = 0,  
 
     fromIndex: Int = 0,  
 
     toIndex: Int = size)  
 
     toIndex: Int = size)  
</syntaxhighlight>يمكن استدعاء الدالة<code>fill()‎</code> على [[Kotlin/collections/List|اللوائح]].<syntaxhighlight lang="kotlin">
+
</syntaxhighlight>ويمكن استدعاء الدالة<code>fill()‎</code> مع [[Kotlin/collections/List|القوائم]] (بدءًا من الإصدار: Kotlin 1.2):<syntaxhighlight lang="kotlin">
 
inline fun <T> MutableList<T>.fill(value: T)  
 
inline fun <T> MutableList<T>.fill(value: T)  
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أن هذه الدالة مباشرة (لمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
 +
 
 +
== المعاملات ==
 +
 
 +
=== <code>element</code> ===
 +
القيمة الجديدة المراد أن تحل مكان عنصر أو مجال من العناصر.
 +
 
 +
=== <code>fromIndex</code> ===
 +
عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد ملؤه بقيمة المعامل <code>element</code>.
 +
 
 +
=== <code>toIndex</code> ===
 +
عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد ملؤه بقيمة المعامل <code>element</code> (لا يدخل هذا العنصر ضمن المجال).
 +
 
 +
== القيم المعادة ==
 +
تٌعاد المصفوفة أو القائمة نفسها بعد تبديل القيمة <code>element</code> المعطاة مكان قيم العناصر الواقعة بين العنصر ذي الفهرس <code>fromIndex</code> وحتى العنصر <code>toIndex</code> (لا يدخل هذا العنصر ضمن المجال) أو آخر عنصر إن لم يعطَ قيمة هذا المعامل.
 +
 
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()fill</code> مع المصفوفات  ===
+
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code> باستخدام الدالة <code>()arrayOf</code> ثمَّ تستخدم الدالة <code>()fill</code> لتبديل القيمة 12 مكان العنصر الثالث والرابع في هذه المصفوفة. تطبع بعدئذٍ سلسلة نصية تمثل المصفوفة الناتجة باستخادم الدالة <code>[[Kotlin/collections/contentToString|()contentToString]]</code>:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()fill</code> لتعيين العناصر الموجودة عند الفهارس من <code>2</code> حتى <code>4</code> في [[Kotlin/Array|المصفوفة]] وإعطائها القيمة <code>12</code>، ثم تطبع التمثيل النصي [[Kotlin/Array|للمصفوفة]] باستخادم الدالة <code>()contentToString</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,5,6)
+
    val array = arrayOf(1, 2, 3, 4, 5, 6)
array.fill(12,2,4)
+
    array.fill(12, 2, 4)
  
println(array.contentToString()) // [1, 2, 12, 12, 5, 6]
+
    println(array.contentToString()) // [1, 2, 12, 12, 5, 6]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
===انظر أيضًا  ===
+
==انظر أيضًا  ==
* <code>[[Kotlin/collections/elementAt|elementAt()]]</code>‎: تعيد العنصر الموجود عند الفهرس (index) المحدد  من  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] فستُطلق <nowiki/>[[Kotlin/exceptions|استثناءً]]  [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-index-out-of-bounds-exception/index.html IndexOutOfBoundsException].
+
* الدالة <code>[[Kotlin/collections/drop|drop()]]</code>‎: تعيد قائمة تحوي جميع عناصر <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت معها باستثناء آخر <code>n</code> عنصر.
 +
* الدالة <code>[[Kotlin/collections/distinct|distinct()‎]]</code>: تحذف العناصر المتكررة الموجودة في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها وتعيد الناتج في قائمة.
 +
* الدالة <code>[[Kotlin/collections/elementAt|elementAt()]]</code>‎: تجلب عنصرًا ذي فهرس معيَّن من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] التي استُدعيت معها.
 +
* الدالة <code>[[Kotlin/collections/filter|filter()‎]]</code>: ترشِّح عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها.
  
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/fill.html الدالة  fill()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/fill.html صفحة الدالة fill()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Collection]]

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

تبدِّل الدالة fill()‎ قيمة جديدة معطاة مكان عناصر محدَّدة في المصفوفة أو القائمة التي تستدعى معها.

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

يمكن استدعاء الدالة fill()‎ مع المصفوفات:

fun <T> Array<T>.fill(
    element: T, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun ByteArray.fill(
    element: Byte, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun ShortArray.fill(
    element: Short, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun IntArray.fill(
    element: Int, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun LongArray.fill(
    element: Long, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun FloatArray.fill(
    element: Float, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun DoubleArray.fill(
    element: Double, 
    fromIndex: Int = 0, 
    toIndex: Int = size) 
fun BooleanArray.fill(
    element: Boolean, 
    fromIndex: Int = 0, 
    toIndex: Int = size)
fun CharArray.fill(
    element: Char, 
    fromIndex: Int = 0, 
    toIndex: Int = size)

ويمكن استدعاء الدالةfill()‎ مع القوائم (بدءًا من الإصدار: Kotlin 1.2):

inline fun <T> MutableList<T>.fill(value: T)

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

المعاملات

element

القيمة الجديدة المراد أن تحل مكان عنصر أو مجال من العناصر.

fromIndex

عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد ملؤه بقيمة المعامل element.

toIndex

عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد ملؤه بقيمة المعامل element (لا يدخل هذا العنصر ضمن المجال).

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

تٌعاد المصفوفة أو القائمة نفسها بعد تبديل القيمة element المعطاة مكان قيم العناصر الواقعة بين العنصر ذي الفهرس fromIndex وحتى العنصر toIndex (لا يدخل هذا العنصر ضمن المجال) أو آخر عنصر إن لم يعطَ قيمة هذا المعامل.

أمثلة

تعرف الشيفرة الآتية مصفوفة باسم array باستخدام الدالة ()arrayOf ثمَّ تستخدم الدالة ()fill لتبديل القيمة 12 مكان العنصر الثالث والرابع في هذه المصفوفة. تطبع بعدئذٍ سلسلة نصية تمثل المصفوفة الناتجة باستخادم الدالة ()contentToString:

fun main(args: Array<String>) {
    val array = arrayOf(1, 2, 3, 4, 5, 6)
    array.fill(12, 2, 4)

    println(array.contentToString()) // [1, 2, 12, 12, 5, 6]
}

انظر أيضًا

مصادر