الدالة slice()‎ في لغة Kotlin

من موسوعة حسوب

تعيد الدالةslice()‎لائحة أو مصفوفة تحتوي عناصر المصفوفة التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر indices.

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

في حال تمرير كائن من النوع Collection كوسيط إلى الدالة slice()‎، فستعيد مصفوفة تحتوي عناصر المصفوفة التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر indices:

fun <T> Array<T>.sliceArray(
    indices: Collection<Int>
): Array<T> 
fun ByteArray.sliceArray(indices: Collection<Int>): ByteArray 
fun ShortArray.sliceArray(
    indices: Collection<Int>
): ShortArray 
fun IntArray.sliceArray(indices: Collection<Int>): IntArray 
fun LongArray.sliceArray(indices: Collection<Int>): LongArray 
fun FloatArray.sliceArray(
    indices: Collection<Int>
): FloatArray 
fun DoubleArray.sliceArray(
    indices: Collection<Int>
): DoubleArray 
fun BooleanArray.sliceArray(
    indices: Collection<Int>
): BooleanArray 
fun CharArray.sliceArray(indices: Collection<Int>): CharArray

في حال تمرير مجال indices كوسيط إلى الدالة slice()‎، فستعيد لائحة تحتوي عناصر المصفوفة التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر indices:

fun <T> Array<out T>.slice(indices: Iterable<Int>): List<T> (source)
fun ByteArray.slice(indices: Iterable<Int>): List<Byte> (source)
fun ShortArray.slice(indices: Iterable<Int>): List<Short> (source)
fun IntArray.slice(indices: Iterable<Int>): List<Int> (source)
fun LongArray.slice(indices: Iterable<Int>): List<Long> (source)
fun FloatArray.slice(indices: Iterable<Int>): List<Float> (source)
fun DoubleArray.slice(indices: Iterable<Int>): List<Double> (source)
fun BooleanArray.slice(indices: Iterable<Int>): List<Boolean> (source)
fun CharArray.slice(indices: Iterable<Int>): List<Char> (source)
fun <T> List<T>.slice(indices: Iterable<Int>): List<T>

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

تعيد الدالةsliceArray()‎لائحة أو مصفوفة تحتوي عناصر المصفوفة التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر indices.

أمثلة

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

تعرف الشيفرة الآتية  مصفوفةباسم array مكونة من ستة عناصر باستخدام الدالة ()arrayOf‎، ثم تستخدم الدالة()slice  على array مع تمرير مجال، ثم تطبع الناتج:

import java.util.Arrays

fun main(args: Array<String>) {
val array = arrayOf(1, 2, 3, 4, 5, 6)
    
print (Arrays.toString(array.sliceArray(1..3))) // [2, 3, 4]
}

أنظر أيضًا

  • slice()‎:تعيد العنصر الوحيد الموجود في المصفوفة أو المجموعة أو اللائحة التي استُدعيت عبرها، وفي حال تمرير شرط منطقي predicate كمعامل (parameter) فستعيد العنصر الوحيد الذي يحقق ذلك الشرط المنطقي. أمّا في حال كان الكائن الذي استُدعيت عبره يحتوي أكثر من عنصر واحد (يحقق predicate في حال تمريرها) أو لا يحتوي أي واحد (يحقق predicate في حال تمريرها) فستعيد القيمة المعدومة null.

مصادر