الفرق بين المراجعتين لصفحة: «Kotlin/collections/component1»
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق الأمثلة. |
||
سطر 19: | سطر 19: | ||
inline operator fun <K, V> Entry<K, V>.component1(): K | inline operator fun <K, V> Entry<K, V>.component1(): K | ||
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> تدل على أنَّ هذه الدالة مباشرة (للمزيد من | </syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> تدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]). | ||
==القيم المعادة== | ==القيم المعادة== | ||
العنصر الأول من المصفوفة أو قيمة المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها. | يُعاد العنصر الأول من المصفوفة أو قيمة المفتاح (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') | ||
println(list.component1()) // a | println(list.component1()) // a | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 34: | سطر 34: | ||
تعرف الشيفرة الآتية خريطةً باسم <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"> | تعرف الشيفرة الآتية خريطةً باسم <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) | ||
for (x | for (x in map) { | ||
println(x.component1()) // bar foo | |||
} | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 47: | سطر 47: | ||
==مصادر== | ==مصادر== | ||
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/component1.html الدالة | *[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/component1.html الدالة component1() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 09:12، 5 يوليو 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).