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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>slice()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>slice()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>slice()‎</code>[[Kotlin/List|لائحة]] أو [[Kotlin/Array|مصفوفة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>.  
+
تعيد الدالة<code>slice()‎</code>[[Kotlin/List|لائحة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>.  
  
 
==البنية العامة==
 
==البنية العامة==
في حال تمرير كائن من النوع  <code>Collection</code> كوسيط إلى الدالة <code>slice()‎</code>، فستعيد [[Kotlin/Array|مصفوفة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
+
يمكن تمرير [[Kotlin/ranges|مجال]] كوسيط إلى الدالة <code>slice()‎</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
fun <T> Array<T>.sliceArray(
+
fun <T> Array<out T>.slice(indices: IntRange): List<T>  
    indices: Collection<Int>
+
fun ByteArray.slice(indices: IntRange): List<Byte>  
): Array<T>  
+
fun ShortArray.slice(indices: IntRange): List<Short>  
fun ByteArray.sliceArray(indices: Collection<Int>): ByteArray
+
fun IntArray.slice(indices: IntRange): List<Int>  
fun ShortArray.sliceArray(
+
fun LongArray.slice(indices: IntRange): List<Long>  
    indices: Collection<Int>
+
fun FloatArray.slice(indices: IntRange): List<Float>
): ShortArray
+
fun DoubleArray.slice(indices: IntRange): List<Double>  
fun IntArray.sliceArray(indices: Collection<Int>): IntArray
+
fun BooleanArray.slice(indices: IntRange): List<Boolean>  
fun LongArray.sliceArray(indices: Collection<Int>): LongArray
+
fun CharArray.slice(indices: IntRange): List<Char>
fun FloatArray.sliceArray(
+
fun <T> List<T>.slice(indices: IntRange): List<T>  
    indices: Collection<Int>
+
</syntaxhighlight>يمكن تمرير كائن من النوع <code>Iterable</code> كوسيط إلى الدالة <code>slice()‎</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
): FloatArray
+
fun <T> Array<out T>.slice(indices: Iterable<Int>): List<T>  
fun DoubleArray.sliceArray(
+
fun ByteArray.slice(indices: Iterable<Int>): List<Byte>  
    indices: Collection<Int>
+
fun ShortArray.slice(indices: Iterable<Int>): List<Short>  
): DoubleArray
+
fun IntArray.slice(indices: Iterable<Int>): List<Int>  
fun BooleanArray.sliceArray(
+
fun LongArray.slice(indices: Iterable<Int>): List<Long>  
    indices: Collection<Int>
+
fun FloatArray.slice(indices: Iterable<Int>): List<Float>  
): BooleanArray
+
fun DoubleArray.slice(indices: Iterable<Int>): List<Double>  
fun CharArray.sliceArray(indices: Collection<Int>): CharArray
+
fun BooleanArray.slice(indices: Iterable<Int>): List<Boolean>  
 
+
fun CharArray.slice(indices: Iterable<Int>): List<Char>  
</syntaxhighlight>في حال تمرير [[Kotlin/ranges|مجال]] <code>indices</code> كوسيط إلى الدالة <code>slice()‎</code>، فستعيد  [[Kotlin/List|لائحة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
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>
 
fun <T> List<T>.slice(indices: Iterable<Int>): List<T>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==القيم المٌعادة==
 
==القيم المٌعادة==
تعيد الدالة<code>sliceArray()‎</code>[[Kotlin/List|لائحة]] أو [[Kotlin/Array|مصفوفة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>.  
+
[[Kotlin/List|لائحة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|اللائحة]]<nowiki/>التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>.  
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()slice</code> مع المصفوفات===
 
===استخدام الدالة <code>()slice</code> مع المصفوفات===
 
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]]<nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()slice</code>  على <code>array</code> مع تمرير [[Kotlin/ranges|مجال]]، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]]<nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()slice</code>  على <code>array</code> مع تمرير [[Kotlin/ranges|مجال]]، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
import java.util.Arrays
 
 
 
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)
 
      
 
      
print (Arrays.toString(array.sliceArray(1..3))) // [2, 3, 4]
+
print (array.slice(1..3)) // [2, 3, 4]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
===أنظر أيضًا===
 
===أنظر أيضًا===
*<code>[[Kotlin/collections/slice|slice()]]</code>‎:تعيد العنصر الوحيد الموجود في [[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها، وفي حال تمرير شرط منطقي <code>predicate</code> كمعامل (parameter) فستعيد العنصر الوحيد الذي يحقق ذلك الشرط المنطقي. أمّا في حال كان الكائن الذي استُدعيت عبره يحتوي أكثر من عنصر واحد (يحقق <code>predicate</code>  في حال تمريرها) أو لا يحتوي أي واحد (يحقق <code>predicate</code>  في حال تمريرها) فستعيد القيمة المعدومة <code>null</code>.
+
*<code>[[Kotlin/collections/sliceArray|sliceArray()]]</code>‎ : تعيد [[Kotlin/List|لائحة]] أو [[Kotlin/Array|مصفوفة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>. 
 
==مصادر==
 
==مصادر==
 
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/slice.html الدالة  slice()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/slice.html الدالة  slice()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 12:44، 4 يونيو 2018

تعيد الدالة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]
}

أنظر أيضًا

مصادر