الفرق بين المراجعتين لصفحة: «Kotlin/collections/fill»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>fill()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>fill()‎</code> العنصر الموجود...'
 
طلا ملخص تعديل
 
(7 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>fill()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>fill()‎</code> في Kotlin}}</noinclude>
تعيد الدالة<code>fill()‎</code> العنصر الموجود عند الفهرس (index) المحدد  من  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] فستُعيد القيمة المعدومة <code>null</code>.
تبدِّل الدالة <code>fill()‎</code> قيمة جديدة معطاة مكان عناصر محدَّدة في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] التي تستدعى معها.


== البنية العامة ==
== البنية العامة ==
يمكن استدعاء الدالة<code>fill()‎</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin">
يمكن استدعاء الدالة <code>fill()‎</code> مع [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.elementAtOrNull(index: Int): T?
fun <T> Array<T>.fill(
inline fun ByteArray.elementAtOrNull(index: Int): Byte?
    element: T,
inline fun ShortArray.elementAtOrNull(index: Int): Short?
    fromIndex: Int = 0,
inline fun IntArray.elementAtOrNull(index: Int): Int?
    toIndex: Int = size)  
inline fun LongArray.elementAtOrNull(index: Int): Long?
fun ByteArray.fill(
inline fun FloatArray.elementAtOrNull(index: Int): Float?
    element: Byte,
inline fun DoubleArray.elementAtOrNull(index: Int): Double?
    fromIndex: Int = 0,
inline fun BooleanArray.elementAtOrNull(index: Int): Boolean?
    toIndex: Int = size)  
inline fun CharArray.elementAtOrNull(index: Int): Char?
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)  
</syntaxhighlight>ويمكن استدعاء الدالة<code>fill()‎</code> مع [[Kotlin/collections/List|القوائم]] (بدءًا من الإصدار: Kotlin 1.2):<syntaxhighlight lang="kotlin">
inline fun <T> MutableList<T>.fill(value: T)
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أن هذه الدالة مباشرة (لمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).


</syntaxhighlight>يمكن استدعاء الدالة<code>fill()‎</code> على [[Kotlin/Array|المجموعات]].<syntaxhighlight lang="kotlin">
== المعاملات ==
fun <T> Iterable<T>.elementAtOrNull(index: Int): T?


</syntaxhighlight>يمكن استدعاء الدالة<code>elementAtOrNull()‎</code> على [[Kotlin/List|اللوائح]].<syntaxhighlight lang="kotlin">
=== <code>element</code> ===
inline fun <T> List<T>.elementAtOrNull(index: Int): T?
القيمة الجديدة المراد أن تحل مكان عنصر أو مجال من العناصر.


</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
=== <code>fromIndex</code> ===
عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد ملؤه بقيمة المعامل <code>element</code>.
 
=== <code>toIndex</code> ===
عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد ملؤه بقيمة المعامل <code>element</code> (لا يدخل هذا العنصر ضمن المجال).


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


العنصر الموجود عند الفهرس (index) المحدد  من  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] أو [[Kotlin/Array|المجموعة]] فستُعيد القيمة المعدومة <code>null</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>()elementAtOrNull</code> للحصول على العنصر الموجود عند الفهرس <code>2</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)
println(array.elementAtOrNull(2)) // 3
    array.fill(12, 2, 4)
}
 
</syntaxhighlight>
    println(array.contentToString()) // [1, 2, 12, 12, 5, 6]
===استخدام الدالة <code>()elementAtOrNull</code> مع المصفوفات: الحالة الثانية  ===
تعرف الشيفرة الآتية [[Kotlin/Array|مصفوفة]] باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة <code>()elementAtOrNull</code> للحصول على العنصر الموجود عند الفهرس <code>12،</code> ولما كان هذا الفهرس خارج حدود [[Kotlin/Array|المصفوفة]] فستُعيد الدالة (<code>12</code>) القيمة المعدومة <code>null</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,5,6)
println(array.elementAtOrNull(12)) // null
}
}
</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/elementAtOrElse|elementAtOrElse()]]</code>‎: تعيد العنصر الموجود عند الفهرس (index) المحدد من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] التي استُدعيت عبرها، وفي حال كان ذلك الفهرس خارج حدود <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/Array|المجموعة]] فستُعيد ناتج تطبيق الدالة المُمرّرة <code>defaultValue()‎</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/element-at-or-null.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]
}

انظر أيضًا

مصادر