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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>component1()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>component1()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة <code>component1()‎</code> العنصر الأول من المصفوفة التي استُدعيت عبرها، وفي حال استُدعيت عبر قاموس فستعيد مركبة المفتاح (key component) الخاصة بمدخل القاموس (map entry)، وتسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على القواميس.  
+
تعيد الدالة <code>component1()‎</code> العنصر الأول من المصفوفة أو المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها. تسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على الخرائط. 
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة <code>component1()‎</code>عبر المصفوفات واللوائح (<code>List</code>):<syntaxhighlight lang="kotlin">
+
يمكن استدعاء الدالة <code>component1()‎</code> مع المصفوفات والقوائم (list):<syntaxhighlight lang="kotlin">
 
inline operator fun <T> Array<out T>.component1(): T  
 
inline operator fun <T> Array<out T>.component1(): T  
 
inline operator fun ByteArray.component1(): Byte  
 
inline operator fun ByteArray.component1(): Byte  
سطر 16: سطر 16:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
ويمكن استدعاء الدالة <code>component1()‎</code>عبر القواميس (maps):<syntaxhighlight lang="kotlin">
+
ويمكن استدعاؤها مع الخرائط (maps):<syntaxhighlight lang="kotlin">
 
inline operator fun <K, V> Entry<K, V>.component1(): K  
 
inline operator fun <K, V> Entry<K, V>.component1(): K  
  
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]).
 
==القيم المعادة==
 
==القيم المعادة==
العنصر الأول من المصفوفة التي استُدعيت عبرها، وفي حال استُدعيت عبر قاموس فستعيد مركبة المفتاح (key component) الخاصة بمدخل القاموس (map entry).
+
العنصر الأول من المصفوفة أو قيمة المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها.
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()component1</code> مع اللوائح ===
+
===استخدام الدالة <code>()component1</code> مع القوائم ===
تعرف الشيفرة الآتية لائحة باسم <code>list</code> مكونة من خمسة حروف باستخدام الدالة <code>()listOf</code>، ثم تستخدم الدالة <code>()component1</code> للحصول على العنصر الأول من اللائحة <code>list</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرِّف الشيفرة الآتية قائمة باسم <code>list</code> مكونة من خمسة حروف باستخدام الدالة <code>()listOf</code> ثم تستخدم الدالة <code>()component1</code> لجلب العنصر الأول من القائمة <code>list</code> وتطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
val list = listOf('a', 'b', 'c', 'd', 'e')
 
val list = listOf('a', 'b', 'c', 'd', 'e')
سطر 31: سطر 31:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===استخدام الدالة <code>()component1</code> مع القواميس ===
+
===استخدام الدالة <code>()component1</code> مع الخرائط ===
تعرف الشيفرة الآتية قاموسًا باسم <code>map</code> مكونة من زوجين باستخدام الدالة <code>()hashMapOf</code>، ثم تستخدم الدالة <code>()component1</code> للحصول على المركب الأول من مداخل القاموس (entries) في الحلقة <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code> ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية خريطةً باسم <code>map</code> مكونة من زوجين اثنين (مفتاح/قيمة) باستخدام الدالة <code>()hashMapOf</code>، ثم تستخدم الدالة <code>()component1</code> لجلب قيمة المفتاح لكل زوج في الخريطة باستعمال الحلقة <code>[[Kotlin/control flow#.D8.AA.D8.B9.D8.A8.D9.8A.D8.B1 for|for]]</code> وتطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
 
val map = hashMapOf("foo" to 1, "bar" to 2)
 
val map = hashMapOf("foo" to 1, "bar" to 2)
سطر 41: سطر 41:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
*<code>[[Kotlin/collections/associate|associate()]]</code>‎: تعيد قاموسًا (map).  
+
*الدالة <code>[[Kotlin/collections/associate|associate()]]</code>‎: تعيد خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر مصفوفة أو مجموعة ([[Kotlin/collections|Collection]]) إلى الدالة <code>()transform</code>.
 +
* الدالة <code>[[Kotlin/collections/asList|asList()]]</code>‎: تعيد قائمة تُغلّف المصفوفة الأصليَّة.
 +
* الخاصيّة <code>[[Kotlin/Array/size|Array.size]]</code>: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
 +
*الدالة <code>[[Kotlin/collections/contains|contains()‎]]</code>: تتحقق إن كانت [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] التي استُدعيت معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key). 
  
 
==مصادر==
 
==مصادر==

مراجعة 12:26، 3 يوليو 2018

تعيد الدالة component1()‎ العنصر الأول من المصفوفة أو المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها. تسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على الخرائط. 

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

يمكن استدعاء الدالة component1()‎ مع المصفوفات والقوائم (list):

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

ويمكن استدعاؤها مع الخرائط (maps):

inline operator fun <K, V> Entry<K, V>.component1(): K

وجود الكلمة المفتاحية inline تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions)).

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

العنصر الأول من المصفوفة أو قيمة المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها.

أمثلة

استخدام الدالة ()component1 مع القوائم

تعرِّف الشيفرة الآتية قائمة باسم list مكونة من خمسة حروف باستخدام الدالة ()listOf ثم تستخدم الدالة ()component1 لجلب العنصر الأول من القائمة list وتطبع الناتج:

fun main(args: Array<String>) {
val list = listOf('a', 'b', 'c', 'd', 'e')
println(list.component1()) // a
}

استخدام الدالة ()component1 مع الخرائط

تعرف الشيفرة الآتية خريطةً باسم map مكونة من زوجين اثنين (مفتاح/قيمة) باستخدام الدالة ()hashMapOf، ثم تستخدم الدالة ()component1 لجلب قيمة المفتاح لكل زوج في الخريطة باستعمال الحلقة for وتطبع الناتج:

fun main(args: Array<String>) {
val map = hashMapOf("foo" to 1, "bar" to 2)
for (x  in map) {
    println(x.component1()) // bar foo
}
}

انظر أيضًا

  • الدالة associate()‎: تعيد خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر مصفوفة أو مجموعة (Collection) إلى الدالة ()transform.
  • الدالة asList()‎: تعيد قائمة تُغلّف المصفوفة الأصليَّة.
  • الخاصيّة Array.size: تعبِّر عن عدد العناصر الموجودة في المصفوفة.
  • الدالة contains()‎: تتحقق إن كانت المصفوفة أو المجموعة التي استُدعيت معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key). 

مصادر