الفرق بين المراجعتين ل"Kotlin/jvm/isArrayOf"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة isArrayOf()‎ في لغة Kotlin}}</noinclude> تعيد الدالة <code>isArrayOf()‎</code> فهرس أول ظهور للع...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة isArrayOf()‎ في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة isArrayOf()‎ في لغة Kotlin}}</noinclude>
تعيد الدالة <code>isArrayOf()‎</code> فهرس أول ظهور للعنصر المُمرّر إليها في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي المُمرّر <code>predicate</code>، أو ‎<code>-1‎</code> إن لم يكن هناك أي عنصر يحقق ذلك.
+
تتحقق الدالة <code>isArrayOf()‎</code> من أنّ [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها يمكن أن تحتوي عناصر من النوع المحدد.
 
== البنية العامة ==
 
== البنية العامة ==
يمكن استدعاء  الدالة <code>indexOfFirst()‎</code> عبر [[Kotlin/Array|المصفوفات]]:<syntaxhighlight lang="kotlin">
+
<syntaxhighlight lang="kotlin">
inline fun <T> Array<out T>.indexOfFirst(
+
fun <reified T : Any> Array<*>.isArrayOf(): Boolean
    predicate: (T) -> Boolean
+
</syntaxhighlight>يلاحظ أيضًا استخدام الكلمة المفتاحية <code>reified</code> للتمكّن من الوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter)، راجع <nowiki/>[[Kotlin/inline functions#.D8.A7.D9.84.D9.85.D8.AA.D8.AD.D9.88.D9.91.D9.84.D8.A7.D8.AA .D9.85.D9.86 .D8.A7.D9.84.D9.86.D9.88.D8.B9 reified.C2.A0|توثيق reified]].
): Int
 
inline fun ByteArray.indexOfFirst(
 
    predicate: (Byte) -> Boolean
 
): Int
 
inline fun ShortArray.indexOfFirst(
 
    predicate: (Short) -> Boolean
 
): Int
 
inline fun IntArray.indexOfFirst(
 
    predicate: (Int) -> Boolean
 
): Int
 
inline fun LongArray.indexOfFirst(
 
    predicate: (Long) -> Boolean
 
): Int
 
inline fun FloatArray.indexOfFirst(
 
    predicate: (Float) -> Boolean
 
): Int
 
inline fun DoubleArray.indexOfFirst(
 
    predicate: (Double) -> Boolean
 
): Int
 
inline fun BooleanArray.indexOfFirst(
 
    predicate: (Boolean) -> Boolean
 
): Int
 
inline fun CharArray.indexOfFirst(
 
    predicate: (Char) -> Boolean
 
): Int
 
 
 
</syntaxhighlight>يمكن استدعاء  الدالة <code>indexOfFirst()‎</code> عبر [[Kotlin/collections|المجموعات]]:<syntaxhighlight lang="kotlin">
 
inline fun <T> Iterable<T>.indexOfFirst(
 
    predicate: (T) -> Boolean
 
): Int
 
</syntaxhighlight>يمكن استدعاء  الدالة <code>indexOfFirst()‎</code> عبر [[Kotlin/List|اللوائح]]:<syntaxhighlight lang="kotlin">
 
inline fun <T> List<T>.indexOfFirst(
 
    predicate: (T) -> Boolean
 
): Int
 
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
 
 
 
 
== القيم المعادة ==
 
== القيم المعادة ==
فهرس أول ظهور للعنصر المُمرّر إلى الدالة <code>isArrayOf()‎</code> في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/List|اللائحة]] التي استُدعيت عبرها والذي يحقق الشرط المنطقي المُمرّر <code>predicate</code>، أو ‎<code>-1‎</code> إن لم يكن هناك أي عنصر يحقق ذلك.
+
قيمة منطقية تحدد إن كانت  [[Kotlin/Array|المصفوفة]] التي استُدعيت عبرها الدالة يمكن أن تحتوي عناصر من النوع المحدد.
 
== أمثلة ==
 
== أمثلة ==
  
 
=== استخدام الدالة<code>isArrayOf()‎</code> على مصفوفة: الحالة الأولى ===
 
=== استخدام الدالة<code>isArrayOf()‎</code> على مصفوفة: الحالة الأولى ===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة  <code>()isArrayOf</code>  للحصول على فهرس أول ظهور لعدد أكبر من <code>2</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>numbers</code> مكونة من ستة أعداد باستخدام الدالة <code>()Array<Int>‎</code>، ثم تستخدم الدالة  <code>()isArrayOf</code>  للتحقق من أنّ المصفوفة <code>numbers</code> يمكن أن تحتوي عناصر من النوع <code>Int</code>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)
+
var numbers = Array<Int>(6, { i -> i })
 
+
   
    print(array.indexOfFirst { it > 2 }) // 2
+
println(numbers.isArrayOf<Int>())// true
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
=== استخدام الدالة<code>indexOfFirst()‎</code> على مصفوفة: الحالة الثانية ===
 
=== استخدام الدالة<code>indexOfFirst()‎</code> على مصفوفة: الحالة الثانية ===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>array</code> مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستخدم الدالة  <code>()indexOfFirst</code>  للحصول على فهرس أول ظهور لعدد أكبر من <code>8</code>، <nowiki/>ولمّا كانت كل عناصر المصفوفة <code>array</code> أصغر من العدد <code>8</code>، فستعيد الدالة <code>()indexOfFirst</code> القيمة ‎<code>-1‎‎</code>:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]] باسم <code>numbers</code> مكونة من ستة أعداد باستخدام الدالة <code>()Array<Int>‎</code>، ثم تستخدم الدالة  <code>()isArrayOf</code>  للتحقق من أنّ المصفوفة <code>numbers</code> يمكن أن تحتوي عناصر من النوع <code>String</code>، ثم تطبع الناتج:<nowiki/><nowiki/><syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
    val array = arrayOf(1,2,3,4,5,6)
+
var numbers = Array<Int>(6, { i -> i })
 
+
   
    print(array.indexOfFirst { it > 8 }) // -1
+
println(numbers.isArrayOf<String>())// false
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* <code>[[Kotlin/collections/indexOf|indexOf]]()‎</code>: تعيد فهرس أول ظهور للعنصر المُمرّر إليها في <nowiki/>[[Kotlin/Array|المصفوفة]] أو <nowiki/>[[Kotlin/collections|المجموعة]] أو <nowiki/>[[Kotlin/List|اللائحة]] التي استُدعيت عبرها ، أو ‎<code>-1‎</code> إن كان العنصر المُمرّر غير موجود.
+
* <code>[[Kotlin/collections/isEmpty|isEmpty]]()‎</code>: تعيد <code>true</code> إن كانت [[Kotlin/Array|المصفوفة]] التي استدعيت عبرها فارغة.
  
 
== مصادر ==
 
== مصادر ==
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/index-of-first.html الدالة isArrayOf()‎  في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.]
+
* [https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/is-array-of.html الدالة isArrayOf()‎  في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Methods]]
 
[[تصنيف:Kotlin Methods]]

مراجعة 17:51، 27 مايو 2018

تتحقق الدالة isArrayOf()‎ من أنّ المصفوفة التي استُدعيت عبرها يمكن أن تحتوي عناصر من النوع المحدد.

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

fun <reified T : Any> Array<*>.isArrayOf(): Boolean

يلاحظ أيضًا استخدام الكلمة المفتاحية reified للتمكّن من الوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter)، راجع توثيق reified.

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

قيمة منطقية تحدد إن كانت المصفوفة التي استُدعيت عبرها الدالة يمكن أن تحتوي عناصر من النوع المحدد.

أمثلة

استخدام الدالةisArrayOf()‎ على مصفوفة: الحالة الأولى

تعرف الشيفرة الآتية مصفوفة باسم numbers مكونة من ستة أعداد باستخدام الدالة ()Array<Int>‎، ثم تستخدم الدالة  ()isArrayOf  للتحقق من أنّ المصفوفة numbers يمكن أن تحتوي عناصر من النوع Int، ثم تطبع الناتج:

fun main(args: Array<String>) {
var numbers = Array<Int>(6, { i -> i })
    
println(numbers.isArrayOf<Int>())// true
}

استخدام الدالةindexOfFirst()‎ على مصفوفة: الحالة الثانية

تعرف الشيفرة الآتية مصفوفة باسم numbers مكونة من ستة أعداد باستخدام الدالة ()Array<Int>‎، ثم تستخدم الدالة  ()isArrayOf  للتحقق من أنّ المصفوفة numbers يمكن أن تحتوي عناصر من النوع String، ثم تطبع الناتج:

fun main(args: Array<String>) {
var numbers = Array<Int>(6, { i -> i })
    
println(numbers.isArrayOf<String>())// false
}

انظر أيضًا

مصادر