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

من موسوعة حسوب
لا ملخص تعديل
طلا ملخص تعديل
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 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/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] التي استُدعيت معها ثمَّ تعيده في قائمة.  


==البنية العامة==
==البنية العامة==
في حال تمرير كائن من النوع  <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>.  
== المعاملات ==
 
=== <code>indices</code> ===
مجال من النوع <code>[[Kotlin/ranges/IntRange|IntRange]]</code> أو كائن من النوع <code>[[Kotlin/collections/Iterable|Iterable]]</code> يحدد الجزء المراد اقتطاعه من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] المعطاة.
 
==القيم المعادة==
تُعاد [[Kotlin/List|قائمة]] تحوي جزءًا من [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|القائمة]] <nowiki/>المعطاة يحدِّده الوسيط <code>indices</code> المعطى.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()slice</code> مع المصفوفات===
<nowiki/><nowiki/>استعمال الدالة <code>()slice</code> لجلب جزء من مصفوفة يقع بين العنصر الثاني والخامس:<syntaxhighlight lang="kotlin">
تعرف الشيفرة الآتية  <nowiki/>[[Kotlin/Array|مصفوفة]]<nowiki/>باسم <code>array</code> مكونة من ستة عناصر باستخدام الدالة <code>()arrayOf‎</code>، ثم تستخدم الدالة<code>()slice</code>  على <code>array</code> مع تمرير [[Kotlin/ranges|مجال]]، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
import java.util.Arrays
    val array = arrayOf(1, 2, 3, 4, 5, 6)


fun main(args: Array<String>) {
     print (array.slice(1..4)) // [2, 3, 4, 5]
val array = arrayOf(1, 2, 3, 4, 5, 6)
      
print (Arrays.toString(array.sliceArray(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/Array|المصفوفة]] التي استُدعيت معها ثمَّ تعيده في مصفوفة أو قائمة بحسب الوسيط الممرر إليها.
* التابع <code>[[Kotlin/Array/get|Array.get()‎]]</code>: تجلب قيمة العنصر في المصفوفة عند الفهرس المُحدَّد.
* الدالة <code>[[Kotlin/collections/indexOf|indexOf()‎]]</code>: تجلب فهرس أول ظهور لعنصر محدَّد من <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو القائمة التي استُدعيت معها.
* الخاصية <code>[[Kotlin/collections/indices|‎‎indices]]</code>: تجلب الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection).
==مصادر==
==مصادر==
*[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 Function]]
[[تصنيف:Kotlin Collection]]

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

تقطع الدالة slice()‎ جزءًا محدَّدًا من المصفوفة أو القائمة التي استُدعيت معها ثمَّ تعيده في قائمة.

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

يمكن تمرير مجال محدَّد إلى الدالة 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

مجال من النوع IntRange أو كائن من النوع Iterable يحدد الجزء المراد اقتطاعه من المصفوفة أو القائمة المعطاة.

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

تُعاد قائمة تحوي جزءًا من المصفوفة أو القائمة المعطاة يحدِّده الوسيط indices المعطى.

أمثلة

استعمال الدالة ()slice لجلب جزء من مصفوفة يقع بين العنصر الثاني والخامس:

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

    print (array.slice(1..4)) // [2, 3, 4, 5]
}

انظر أيضًا

  • الدالة sliceArray()‎ : تقطع جزءًا محدَّدًا من المصفوفة التي استُدعيت معها ثمَّ تعيده في مصفوفة أو قائمة بحسب الوسيط الممرر إليها.
  • التابع Array.get()‎: تجلب قيمة العنصر في المصفوفة عند الفهرس المُحدَّد.
  • الدالة indexOf()‎: تجلب فهرس أول ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها.
  • الخاصية ‎‎indices: تجلب الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection).

مصادر