نتائج البحث

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

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

تعيد الدالة Any()‎ نسخةً من الصنف Any والذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. البنية العامة Any() القيم المعادة يعاد كائنٌ (object) من الصنف Any. أمثلة تنشِئ الدالة Any()‎ في الشيفرة الآتية كائنًا من الصنف Anyباسم obj ، ثم يُحدِّد صنف الكائن المُنشَأ وذلك بالاعتماد على خاصيّة الاسم البسيط للصنف (وهي class.simpleName) : fun main(args: Array<String>) {    val obj = Any()    println(" ${obj::class.simpleName}")  // Any } انظر ...

الصنف ‎‎Float‎ في Kotlin

يمثل الصنف Float عددًا عشريًّا (دقة أحادية للأعداد بعد الفاصلة [single-precision floating point]) بحجم 32 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع float الأساسي. class Float : Number, Comparable<Float> الدوال compareTo توازن الدالة compareTo()‎ بين عدد عشري (float) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر من العدد الثاني. dec تنقص ...

الصنف ‎‎Float‎ في Kotlin

يمثل الصنف Float عددًا عشريًّا (دقة أحادية للأعداد بعد الفاصلة [single-precision floating point]) بحجم 32 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع float الأساسي. class Float : Number, Comparable<Float> الدوال compareTo توازن الدالة compareTo()‎ بين عدد عشري (float) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر من العدد الثاني. dec تنقص ...

الدالة ‎‎Any.hashCode()‎‎ في Kotlin

تعيد الدالة hashCode()‎ الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. تُحقِّق هذه الدالة الشرطين الآتيين دائمًا: تعيد نفس العدد الصحيح دائمًا في كل مرة تستدعى فيها مع الكائن نفسه شريطة عدم تغيُّر أيّ معلومة تستخدمها الدالة equals()‎ عند موازنة هذا الكائن مع غيره. إذا تساوى كائنان بحسب الدالة equals()‎، فيجب أن تعيد الدالة hashCode()‎ شيفرة hash نفسها لكلٍّ منها. البنية العامة open fun hashCode(): Int وجود الكلمة المفتاحيّة open هنا يدل على السماح بإعادة تعريف (override) هذه الدالة في الأصناف الفرعيّة ...

الصنف ‎‎Double‎ في Kotlin

يمثل الصنف Double عددًا عشريًّا مضاعفًا (دقة مضاعفة للأعداد بعد الفاصلة [double-precision floating point]) بحجم 64 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع double الأساسي. class Double : Number, Comparable<Double> الدوال compareTo توازن الدالة compareTo()‎ بين عدد عشري مضاعف (double) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر ...

الصنف ‎‎Double‎ في Kotlin

يمثل الصنف Double عددًا عشريًّا مضاعفًا (دقة مضاعفة للأعداد بعد الفاصلة [double-precision floating point]) بحجم 64 بت مطابقًا للمعيار IEEE 754. في بيئة التشغيل JVM، القيم غير المعدومة (non-nullable) لهذا النوع تُمثَّل كقيم للنوع double الأساسي. class Double : Number, Comparable<Double> الدوال compareTo توازن الدالة compareTo()‎ بين عدد عشري مضاعف (double) وعدد آخر ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كان العدد الأول (العدد الذي استُدعي مع الدالة) أصغر من العدد الثاني الممرر إليها، أو قيمة موجبة إن كان العدد الأول أكبر ...

الدالة ‎‎takeIf()‎ في Kotlin

تعيد الدالة takeIf()‎ الكائن (object) الذي استُدعي معها إن كان ذلك الكائن يحقق شرطًا معيّنًا، أو تعيد القيمة null بخلاف ذلك. البنية العامة inline fun <T> T.takeIf(predicate: (T) -> Boolean): T? يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). المعاملات predicate دالةٌ تطبق على كل كائن من الكائنات المعطاة وتعيد قيمة منطقية مقابلة لكلٍّ منها. القيم المعادة الكائن الذي استُدعيت الدالة معها إن كان ذلك الكائن يحقق الشرط prediacte، ...

الدالة ‎‎takeUnless()‎ في Kotlin

تعيد الدالة takeUnless()‎ الكائن (object) الذي استُدعي معها إن لم يكن هذا الكائن يحقق شرطًا معيّنًا، أو يعيد القيمة null بخلاف ذلك. البنية العامة inline fun <T> T.takeUnless(predicate: (T) -> Boolean): T? يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). المعاملات predicate دالةٌ تطبق على كل كائن من الكائنات المعطاة وتعيد قيمة منطقية مقابلة لكلٍّ منها. القيم المعادة تعيد الكائن الذي استُدعيت عبره الدالة إن لم يكن هذا الكائن ...

الخاصية ‎‎javaClass‎ في Kotlin

تعيد الخاصيّة javaClass صنف Java الخاص بالكائن (object) الذي تُستدعى عبره أثناء التشغيل (runtime)، وتُعرَّف هذه الخاصية في جميع الأصناف الفرعيّة (sub-classes) من الصنف Any. البنية العامة inline val <T : Any> T.javaClass: Class<T> يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة صنف Java الخاصّ بالكائن الذي تُستدعى عبره أثناء التشغيل (runtime). أمثلة تنشِئ الشيفرة الآتية سلسلةً نصيةً باسم a، وتحصل على صنف Java الخاص بها عبر استدعاء ...

الخاصية ‎‎javaClass‎ في Kotlin

تعيد الخاصيّة javaClass صنف Java الخاص بالكائن (object) الذي تُستدعى عبره أثناء التشغيل (runtime)، وتُعرَّف هذه الخاصية في جميع الأصناف الفرعيّة (sub-classes) من الصنف Any. البنية العامة inline val <T : Any> T.javaClass: Class<T> يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة صنف Java الخاصّ بالكائن الذي تُستدعى عبره أثناء التشغيل (runtime). أمثلة تنشِئ الشيفرة الآتية سلسلةً نصيةً باسم a، وتحصل على صنف Java الخاص بها عبر استدعاء ...

المقارنة بين لغتيّ البرمجة Java و Kotlin

بعض المواضيع في Java ومعالجتها في Kotlin عالجت لغة Kotlin العديد من المشاكل الموجودة في Java وهي: التحكُّم بالمرجعيّات الفارغة (null references) عبر نظام الأنواع لا وجود للأنواع الخامّ (raw types) تُعدُّ المصفوفات في Kotlin ثابتة (invariant) للدوال (functions) في Kotlin أنواع مناسبة وهذا ما يتعارض مع التحويلات SAM في Java التنوّع في موقع الاستخدام (use-site variance) دون الحاجة إلى المحارف البديلة (wildcards) لا وجود للاستثناءات المُتحقَّق منها (checked exceptions) في Kotlin ما تمتاز به Java ولا تدعمه Kotlin الاستثناءات ...

استخدام لغة Kotlin في نطاق JavaScript

تتيح لغة Kotlin إمكانيّة استهداف لغة JavaScript من خلال تحويل (transpiling) شيفرات Kotlin إلى ما يماثلها في JavaScript ؛ إذ تستهدف بالوقت الحاليّ معيارECMAScript 5.1، ومن المُخطَّط له أيضًا التوافق مع معيار ECMAScript 2015 لاحقًا. عند استخدام لغة Kotlin بهدف كتابة شيفرات JavaScript فستُحوَّل الشيفرات المكتوبة بلغة Kotlin (بعدِّها جزءًا من المشروع والمكتبة القياسيّة في Kotlin) إلى شيفرة JavaScript، ولكنّ هذا لا يشمل أيًّا ممّا يتعلَّق ببيئة JDK أو JVM أو Java أو أيّ من منصّاتها أو مكتباتها المُستخدَمة، ويُستبعَد ...

الحزم (Packages) في Kotlin

التصريح عن الحزم يبدأ الملف المصدريّ (source file) عادةً بالتصريح (declaration) عن الحزم مثل: package foo.bar fun baz() {} class Goo {} // ... ويتوضع حينها كلُّ ما يحتويه هذا الملف (كالأصناف [classes] والدوال [functions] مثلًا) في الحزمة المُصرَّح عنها ببدايته، ففي الشيفرة السابقة إن الاسم الفعليّ الكامل للدالة baz()‎ هو foo.bar.baz والاسم الكامل للصنف Goo هو foo.bar.Goo. وإذا لم تُحدَّد الحزمة في بداية الملف فإن محتوياته تتبع للحزمة الافتراضيّة "default" التي لا اسم لها. استيراد الحزم الافتراضيّة (Default Imports) يُستورَد عددٌ من الحزم ...

الصنف ‎‎Regex‎ في Kotlin

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

الصنف ‎‎Regex‎ في Kotlin

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

تبديل التابع إلى كائن التابع (Replace Method with Method Object)

المشكلة وجود تابعٍ طويلٍ بالكثير من المتغيِّرات المحليّة (local variables) المتداخلة والتي تحول دون تطبيق تقنية الحل باستخراج التابع (extract method). الحل نقل التابع إلى صنفٍ (class) مستقلٍ بحيث تصبح متغيِّراته المحليّة حقولًا (fields) لهذا الصنف، وتقسيم التابع بعد ذلك إلى عدّة توابع أصغر في الصنف ذاته. مثال قبل إعادة التصميم نلاحظ وجود العديد من المتغيِّرات المحليّة في التابع price()‎ بالإضافة إلى عملياتٍ أخرى قد تكون طويلةً ومعقَّدة: في لغة Java: class Order { //... public double price() ...

تبديل قيم البيانات إلى كائنات (Replace Data Values with Objects)

المشكلة وجود حقلٍ (field) مٌخصَّص للبيانات في صنفٍ (class) ما (أو في عددٍ من الأصناف)، ولهذا الحقل بياناته وسلوكه (behaviour) المرتبط به. الحل إنشاء صنفٍ جديدٍ ليُوضَع فيه الحقل (field) بالإضافة إلى سلوكه المرتبط به، وتخزين كائنٍ (object) من هذا الصنف الجديد في الصنف الأصليّ للحقل. مثال قبل إعادة التصميم يحتوي الصنف Order على الحقل customer الذي يحتوي بيانات نصيّة (من النوع String) كما هو واضح في مخطط الأصناف الآتي: الصنف Order يحتوي على الحقل customer الذي يحتوي بيانات نصيّة. ...

الدالة ‎‎unsafeCast()‎ للتحويل غير الآمن بين الأنواع في Kotlin

يحوِّل المعامل as الكائن الذي استُدعي عبره إلى نوعٍ  آخر (T) بشكلٍ غير آمن (unsafe) أي بدون التحقُّق من الأنواع، فإن  كان التحويل غير جائزٍ، فسيُعلِم المُترجم بوجود خطأٍ، ويعبِّر المعامل as عن استدعاء الدالة unsafeCast()‎ التي تجري عملية التحويل الفعليّ. البنية العامة inline fun <T> Any?.unsafeCast(): T يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة تعاد قيمة الكائن (object) بعد تحويله إلى النوع الآخر المُحدَّد (T). ...

الدالة ‎‎unsafeCast()‎ للتحويل غير الآمن بين الأنواع في Kotlin

يحوِّل المعامل as الكائن الذي استُدعي عبره إلى نوعٍ  آخر (T) بشكلٍ غير آمن (unsafe) أي بدون التحقُّق من الأنواع، فإن  كان التحويل غير جائزٍ، فسيُعلِم المُترجم بوجود خطأٍ، ويعبِّر المعامل as عن استدعاء الدالة unsafeCast()‎ التي تجري عملية التحويل الفعليّ. البنية العامة inline fun <T> Any?.unsafeCast(): T يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions). القيم المعادة تعاد قيمة الكائن (object) بعد تحويله إلى النوع الآخر المُحدَّد (T). ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

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