نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

التهيئة الأولية للصنف ‎‎Array‎ في Kotlin

تنشِئ الدالة Array()‎ البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. البنية العامة Array(size: Int, init: (Int) -> T) المعاملات size عدد صحيح يمثل حجم المصفوفة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها. القيم المعادة مصفوفة بالحجم size تتكوّن من العناصر الناتجة عن الدالة init. أمثلة ينشِئ التابع في الشيفرة الآتية مصفوفةً بستة عناصر زوجيّة (نتيجة ضرب ...

التهيئة الأولية للصنف ‎‎Array‎ في Kotlin

تنشِئ الدالة Array()‎ البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. البنية العامة Array(size: Int, init: (Int) -> T) المعاملات size عدد صحيح يمثل حجم المصفوفة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها. القيم المعادة مصفوفة بالحجم size تتكوّن من العناصر الناتجة عن الدالة init. أمثلة ينشِئ التابع في الشيفرة الآتية مصفوفةً بستة عناصر زوجيّة (نتيجة ضرب ...

الانتقال الفرعيّ Delegation في Kotlin

أثبت نموذج الانتقال الفرعيّ فعّاليته كبديلٍ جيّدٍ عن وراثة تعريف الاستخدام (implementation inheritance) إذ تدعم لغة Kotlin هذه الميّزة بشكلٍ طبيعيّ دون الحاجة إلى أيّ نوع قياسيّ من الشيفرات، وبالتالي فإنّ الصنف المُشتقّ (Derived) يرِث من الواجهة (Base) وينقل فرعيًا (delegate) كلَّ توابعه العامّة (public methods) إلى كائنٍ مُحدَّدٍ، كما في الشيفرة الآتية: interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fun print() { print(x) } } class Derived(b: Base) : Base ...

الدالة filterTo()‎ في لغة Kotlin

تشبه هذه الدالة filterTo()‎ الدالة filter()‎ في جميع النواحي باستثناء أنها تضيف الناتج إلى المعامل المُمرَّر إليها. الجدير بالذكر أنّه ينبغي أن يكون ذلك المعامل المعطى مجموعةً قابلةً للتغيير (MutableCollection) إن استدعيت الدالة مع مصفوفة أو مجموعة، أو خريطةً قابلة للتغيير (MutableMap) إن استدعيت الدالة مع خريطة. البنية العامة يمكن استدعاء الدالة filterTo()‎ مع المصفوفات أو المجموعات: inline fun <T, C : MutableCollection<in T>> Array<out T>.filterTo( destination: C, predicate: (T) -> Boolean ): C inline ...

الدالة findLastAnyOf()‎ في لغة Kotlin

تبحث الدالة findLastAnyOf()‎ عن آخر ظهور لأيٍّ من السلاسل النصية المعطاة في سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.findLastAnyOf( strings: Collection<String>, startIndex: Int = lastIndex, ignoreCase: Boolean = false ): Pair<Int, String>? المعاملات strings مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة. لتجنب الالتباس الناتج عند وجود محارف مشتركة بين السلاسل النصية الموجودة في المعامل strings، فإنّ الدالة findLastAnyOf()‎ تبدأ من نهاية سلسلة المحارف المعطاة ...

الدالة MatchNamedGroupCollection.get()‎ في لغة Kotlin

تعيد الدالة get()‎ نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. البنية العامة abstract operator fun get(name: String): MatchGroup? وجود الكلمة المفتاحيّة operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator). القيمة المعادة تعاد نسخة من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم name متطابقَةأو تعاد القيمة null خلاف ذلك. انظر أيضًا الصنف MatchNamedGroupCollection. مصادر صفحة الدالة MatchNamedGroupCollection.get()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.

الانعكاس (Reflection) في لغة Kotlin

الانعكاس هو مجموعةٌ من مميّزات اللغة والمكتبات التي تسمح بمراقبة بُنية البرنامج أثناء التنفيذ، إذ تولي لغة Kotlin أهميةً كبرى لكلٍّ من الدوال (functions) والخاصّيّات (properties) وتستمر بتتبُّعها (مثل معرفة اسم أو نوع الخاصّيّة والدالة أثناء التنفيذ) وهذا يرتبط ارتباطًا وثيقًا مع استخدام النمط الوظائفيّ (functional) أو التفاعليّ (reactive). ملاحظة: إن الجزء التنفيذيّ (runtime component) المطلوب في منصّة العمل Java لاستخدام ميزات الانعكاس يُوزَّع كملف ‎.jar مستقلٍّ (kotlin-reflect.jar) وذلك بهدف تخفيض حجم التخزين المطلوب لمكتبة التنفيذ (runtime library) للتطبيقات غير ...

الإضافات (Extensions) في لغة Kotlin

الإضافات (Extensions) توفِّر لغة Kotlin -كما هو الحال في لغات البرمجة مثل C#‎ و Gosu- إمكانيّة الإضافة على الأصناف (classes) بوظائف جديدةٍ دون اللجوء إلى الوراثة (inheritance) منها أو استخدام أيّ أنماطٍ تصميميّةٍ مثل Secorator، وذلك من خلال تصريحات خاصّة تُدعى الإضافات (extensions)، إذ تدعم لغة Kotlin الدوال الإضافيّة (extension functions) والخاصّيّات الإضافيّة (extension properties). الدوال الإضافيّة (Extension Functions) لتعريف دالةٍ إضافيّةٍ يجب أن يُسبَق اسمها بنوع المستقبِل (receiver type) أي النوع الذي ستتمّ الإضافة عليه، ففي الشيفرة الآتية تُضاف ...

المجالات (Ranges) في لغة Kotlin

استخدام المجالات تُصاغُ تعابير المجالات (range expressions) من خلال دوال rangeTo التي تعتمد على المعامل .. والذي بدوره يتُمَّم بالمعاملين inو ‎!in، إذ من الممكن أن يُعرَّف المجال لأيّ نوعٍ يقبل المقارنة، أما في حالة الأنواع الأساسيّة المتكاملة (integral primitive types) فلها تعريف استخدام مُحسَّن (optimized)، وهذه بعض الأمثلة: if (i in 1..10) { // مكافئ للصياغة // 1 <= i && i ...

التساوي (Equality) في لغة Kotlin

تحتوي لغة Kotlin على نوعين من التساوي: التساوي البنيويّ (structural equality): يكون التحقُّق فيه عبر الدالة equals()‎. التساوي المرجعيّ (referential equality): وهو التحقُّق من الإشارة إلى نفس الكائن (object). التساوي البنيويّ (Structural Equality) يعتمد التساوي البنيويّ على المعامل == ونفيه =! ، إذ يُترجَم التعبير a == b إلى الصيغة: a?.equals(b) ?: (b === null) فإن لم يحتوِ المتغيِّر a على القيمة الفارغة null فستُستدعَى الدالةequals(Any?)‎ ، أما إن كانت قيمته null فيجري التحقُّق من أنّ b مساوٍ -مرجعيًّا- للقيمة null. ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).