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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>sliceArray()‎</code> في لغة Kotlin}}</noinclude><blockquote>تعيد الدالة<code>sliceArray()‎</code>Kotli...'
 
طلا ملخص تعديل
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>sliceArray()‎</code> في لغة Kotlin}}</noinclude><blockquote>تعيد الدالة<code>sliceArray()‎</code>[[Kotlin/List|لائحة]] تحتوي عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها والموجودة عند الفهارس التي يحددها الوسيط الممرّر <code>indices</code>.  يمكن أي يكون الوسيط <code>indices</code> [[Kotlin/ranges|مجالاً]] أو [[Kotlin/collections|مجموعة]].<nowiki/></blockquote>
<noinclude>{{DISPLAYTITLE: الدالة <code>sliceArray()‎</code> في Kotlin}}</noinclude>
تقطع الدالة <code>sliceArray()‎</code> جزءًا محدَّدًا من [[Kotlin/Array|المصفوفة]] التي استُدعيت معها ثمَّ تعيده في مصفوفة أو قائمة بحسب الوسيط الممرر إليها. 


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

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

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

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

إن مرِّر كائن من النوع Collection إلى الدالة sliceArray()‎، فستُعاد مصفوفة تحوي عناصر المصفوفة التي استُدعيت معها والموجودة في الموقع الذي يحدده الوسيط 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 إلى الدالة sliceArray()‎ كوسيط، فستُعاد قائمة تحوي عناصر المصفوفة التي استُدعيت معها والموجودة في ذلك المجال المحدَّد:

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

المعاملات

indices

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

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

إن كان الوسيط indices من النوع Collection، فستُعاد مصفوفة جديدة تحوي جزءًا من المصفوفة المعطاة يحدده ذلك الوسيط. أمَّا إن كان الوسيط indices مجالًا، فستُعاد قائمةٌ تحوي جزءًا من المصفوفة المعطاة يقع في ذلك المجال.

أمثلة

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

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()‎ : تقطع جزءًا محدَّدًا من المصفوفة أو القائمة التي استُدعيت معها ثمَّ تعيده في قائمة.
  • التابع Array.get()‎: تجلب قيمة العنصر في المصفوفة عند الفهرس المُحدَّد.
  • الخاصية ‎‎lastIndex: تجلب الفهرس الأخير لمصفوفة أو قائمة.

مصادر