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

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

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

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

يمكن تمرير مجال كوسيط إلى الدالة slice()‎:

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

يمكن تمرير كائن من النوع Iterable كوسيط إلى الدالة slice()‎:

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

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

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

أمثلة

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

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

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

أنظر أيضًا

مصادر