نتائج البحث

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

المُنشِئ الحافظ للنوع (Type-Safe Builder) في لغة Kotlin

المُنشِئ الحافظ للنوع (Type-Safe Builder) يُتاح بناءُ المُنشِئ الستاتيكيّ الحافظ للنوع في لغة Kotlin باستخدام الدوال ذات التسمية المعبِّرة كمُنشِئ (builder) بالإضافة إلى قيم حرفية (literals) للدوال مع المستقبِل (receiver)، إذ يسمح المُنشِئ الحافظ للنوع ببناء لغات مُخصَّصة المجال (DSL) بالاعتماد على Kotlin بما يتناسب مع إنشاء بُنى البيانات الهرميّة المعقَّدة بطريقةٍ نصف تصريحية (semi-declarative)، وهذه بعض الأمثلة من حالات استخدامه: توليد ترميزٍ (markup) باستخدام شيفرة Kotlin مثل HTML أو XML تصميم أجزاء واجهات المستخدم (UI) برمجيًا مثل Anko ضبط ...

التهيئة الأولية للصنف ‎‎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. أمثلة ينشِئ التابع في الشيفرة الآتية مصفوفةً بستة عناصر زوجيّة (نتيجة ضرب ...

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

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

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

تنشئ الدالة CharArray()‎ البانية مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '‎\u0000' التي تمثل حرفًا عدميًّا. البنية العامة CharArray(size: Int, init: (Int) -> Char) CharArray(size: Int) تنشئ هذه الدالة مصفوفة جديدة حجمها بحجم الوسيط size، وتحسب قيمة كل عنصر منها عبر استدعاء الدالة init مع قيمة الفهرس الحالي لكل عنصر. إن لم يُعطَ الوسيط init، فستُضبَط كل قيم المصفوفة إلى القيمة '‎\u0000'. المعاملات size عدد صحيح يمثل حجم المصفوفة الجديدة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها ...

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

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

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

تنشئ الدالة CharArray()‎ البانية مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '‎\u0000' التي تمثل حرفًا عدميًّا. البنية العامة CharArray(size: Int, init: (Int) -> Char) CharArray(size: Int) تنشئ هذه الدالة مصفوفة جديدة حجمها بحجم الوسيط size، وتحسب قيمة كل عنصر منها عبر استدعاء الدالة init مع قيمة الفهرس الحالي لكل عنصر. إن لم يُعطَ الوسيط init، فستُضبَط كل قيم المصفوفة إلى القيمة '‎\u0000'. المعاملات size عدد صحيح يمثل حجم المصفوفة الجديدة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها ...

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

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

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

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

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

تنشئ الدالة DoubleArray()‎ البانية مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة [double]) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. البنية العامة DoubleArray(size: Int, init: (Int) -> Double) DoubleArray(size: Int) تنشئ هذه الدالة مصفوفة جديدة حجمها بحجم الوسيط size، وتحسب قيمة كل عنصر من عناصرها عبر استدعاء الدالة init مع قيمة الفهرس الحالي لكل عنصر. إن لم يُعطَ الوسيط init، فستُضبَط كل قيم المصفوفة إلى القيمة 0. المعاملات size عدد صحيح يمثل حجم المصفوفة الجديدة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها بناءً ...

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

تنشئ الدالة DoubleArray()‎ البانية مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة [double]) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. البنية العامة DoubleArray(size: Int, init: (Int) -> Double) DoubleArray(size: Int) تنشئ هذه الدالة مصفوفة جديدة حجمها بحجم الوسيط size، وتحسب قيمة كل عنصر من عناصرها عبر استدعاء الدالة init مع قيمة الفهرس الحالي لكل عنصر. إن لم يُعطَ الوسيط init، فستُضبَط كل قيم المصفوفة إلى القيمة 0. المعاملات size عدد صحيح يمثل حجم المصفوفة الجديدة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها بناءً ...

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

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

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

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

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

تحلّل الدالة toBigDecimal()‎ السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد من النوع BigDecimal. البنية العامة inline fun String.toBigDecimal(): BigDecimal منصة التشغيل والإصدار المطلوبان: Kotlin 1.2 ، JVM. تحلّل الدالة toBigDecimal()‎ السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد من النوع java.math.BigDecimal ثم تعيد الناتج. إن لم تكن السلسلة النصية تمثل عددًا، فسيُطلَق الاستثناء NumberFormatException. inline fun String.toBigDecimal( mathContext: MathContext ): BigDecimal منصة التشغيل والإصدار المطلوبان: Kotlin 1.2 ، JVM. تحلّل الدالة toBigDecimal()‎ السلسلة النصية التي استٌدعيت معها وتحوّلها إلى ...

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

تحلّل الدالة toBigInteger()‎ السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد من النوع BigDecimal. البنية العامة inline fun String.toBigInteger(): BigInteger بيئة التشغيل المطلوبة: Kotlin 1.2 ، JVM. تحلّل الدالة toBigInteger()‎ السلسلة النصية التي استٌدعيت معها وتحوّلها إلى عدد من النوع java.math.BigInteger وتعيد الناتج. إن لم تكن السلسلة النصية تمثل عددًا، فسيُطلَق الاستثناء NumberFormatException. inline fun String.toBigInteger(radix: Int): BigInteger بيئة التشغيل المطلوبة: Kotlin 1.2 ، JVM. تحلّل الدالة toBigInteger()‎ السلسلة النصية التي استٌدعيت عبرها وتحوّلها إلى عدد من النوع java.math.BigInteger وتعيد الناتج. إن ...

الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin

تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice { } ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...

التابع Array.sum‎ في روبي

يجمع التابع sum عناصر المصفوفة التي استُدعيت معه مع بعضها بعضًا. إن مُرِّرت كتلة برمجية إلى هذا التابع، فستُطبَّق تلك الكتلة على كل عنصر من عناصر المصفوفة ثم ستُجمَع النواتج المعادة لجميع العناصر. في حال كانت المصفوفة فارغة، ستُعاد القيمة المُمرّرة إلى هذا التابع. يمكن استخدام هذا التابع مع المصفوفات التي تحوي قيمًا غير عددية بتحديد قيمة مناسبة للوسيط init. يجدر التنبيه إلى أنّ التابعين join و flatten هما أسرع من التابع sum بالنسبة للمصفوفات التي تضم سلاسل نصية أو ...

التابع Enumerable.sum في روبي

يعيد التابع sum مجموع عناصر الكائن القابل للتعداد الذي استدعي معه. إن أعطيت كتلة، فستُطبَّق الكتلة على كل عنصر قبل الإضافة. قد لا يأخذ التابع sum بالحسبان إعادة تعريف المعاملات + مثل + في الصنف Integer. البنية العامة sum(init=0) → number sum(init=0) {|e| expr } → number المعاملات init القيمة البدائية المراد البدء بها في عملية الجمع. القيمة الافتراضية هي: 0. القيمة المعادة يعاد عدد يمثِّل ناتج جمع عناصر الكائن القابل للتعداد المعطى. أمثلة مثال على استعمال التابع sum: { 1 => 10, ...

الخطافات غير المتزامنة في Node.js

الاستقرار: 1-تجريبي توفِّر الوحدة async_hooks واجهة برمجية (API) لتسجيل دوال ردود النداء التي تتعقَّب دورة حياة (lifetime) الموارد غير المتزامنة (asynchronous resources) المُنشأَة داخل تطبيقات Node.js. يمكن الوصول إلى هذه الوحدة باستعمال الأمر التالي: const async_hooks = require('async_hooks'); اصطلاحات يمثِّل المورد غير المتزامن كائنًا مرفقًا به رد نداء. قد يُستدعَى رد النداء هذا عدَّة مرات، مثل الحدث 'conection' في net.createServer()‎، أو مرةً واحدة فقط، مثل fs.open()‎. يمكن أن يُغلق المورد أيضًا قبل أن يُستدعَى رد النداء. لا تفرِّق الوحدة AsyncHook ...

التهيئة الأولية للصنف ‎‎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 } انظر ...

التهيئة الأولية للصنف ‎‎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 } انظر ...

تطوير برامج Bash جيدة

خصائص الشيفرات الجيدة هذا الشرح عن آخر وحدة بناء للصدفة وهي الشيفرات النصية. إليك بعض الأمور التي يجب أن تراعيها قبل أن نكمل: يجب أن تعمل الشيفرة بدون أخطاء. يجب أن تنفذ المهمة التي كُتبت لها. يجب أن يكون منطق البرنامج محددًا وظاهرًا. لا تنفذ الشيفرة مهامًا غير ضرورية. ينبغي أن تكون الشيفرة قابلة لإعادة استخدامها. الهيكل Structure يجب أن يكون هيكل شيفرة الصدفة مرنًا للغاية، فرغم أن bash بها حرية ظاهرة، إلا أنه يجب تحقيق منطق صحيح وتحكم في ...

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

يعدُّ الصنف Enum الصنف الأساس لكل أصناف الترقيم (enum classes). إن أردت الاطلاع على معلومات أوسع حول أصناف الترقيم، فاقرأ هذا المرجع. البنية العامة Enum(name: String, ordinal: Int) المعاملات name سلسلة نصية. ordinal عدد صحيح. أمثلة في الشيفرة الآتية، ننشئ نسخة من الصنف Enum باسم ColorEnum مكونًا من أربعة ثوابت: Red و Blue و Green و Orange ثم نطبع قيمة الثابت Red: fun main(args: Array<String>) { print(ColorEnum.Red) // Red } enum class ColorEnum(val colorCode: Int) { Red(2), Blue(11212), Green(21212), ...

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

يعدُّ الصنف Enum الصنف الأساس لكل أصناف الترقيم (enum classes). إن أردت الاطلاع على معلومات أوسع حول أصناف الترقيم، فاقرأ هذا المرجع. البنية العامة Enum(name: String, ordinal: Int) المعاملات name سلسلة نصية. ordinal عدد صحيح. أمثلة في الشيفرة الآتية، ننشئ نسخة من الصنف Enum باسم ColorEnum مكونًا من أربعة ثوابت: Red و Blue و Green و Orange ثم نطبع قيمة الثابت Red: fun main(args: Array<String>) { print(ColorEnum.Red) // Red } enum class ColorEnum(val colorCode: Int) { Red(2), Blue(11212), Green(21212), ...

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

تنشئ الدالة MatchGroup()‎ البانية كائنًا من النوع MatchGroup الذي يمثل النتائج التي نحصل عليها من مجموعة واحدة ضمن MatchResult الخاصة بالصنف Regex. البنية العامة MatchGroup(actual value: String, range: IntRange) منصة التشغيل المطلوبة: JVM. MatchGroup(actual value: String) منصة التشغيل المطلوبة: JS. المعاملات value قيمة مجموعة النتائج التي تم الحصول عليها. range مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. الخاصية range متوافرة على منصة JVM فقط. القيم المعادة يعاد كائن من النوع MatchGroup. أمثلة في الشيفرة الآتية  نعرّف كائنًا من ...

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

تنشئ الدالة MatchGroup()‎ البانية كائنًا من النوع MatchGroup الذي يمثل النتائج التي نحصل عليها من مجموعة واحدة ضمن MatchResult الخاصة بالصنف Regex. البنية العامة MatchGroup(actual value: String, range: IntRange) منصة التشغيل المطلوبة: JVM. MatchGroup(actual value: String) منصة التشغيل المطلوبة: JS. المعاملات value قيمة مجموعة النتائج التي تم الحصول عليها. range مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. الخاصية range متوافرة على منصة JVM فقط. القيم المعادة يعاد كائن من النوع MatchGroup. أمثلة في الشيفرة الآتية  نعرّف كائنًا من ...

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

تنشئ الدالة StringBuilder()‎ كائنًا من النوع StringBuilder. البنية العامة StringBuilder(capacity: Int) StringBuilder(content: CharSequence) StringBuilder() StringBuilder(content: String = "") منصة التشغيل المطلوبة: JS. المعاملات capacity عدد صحيح يحدد حجم الكائن StringBuilder المراد إنشاؤها. content سلسلة من المحارف أو سلسلة نصية تمثل محتوى الكائن StringBuilder المراد إنشاؤها. القيم المعادة يعاد كائنٌ من النوع StringBuilder. أمثلة استعمال الدالة StringBuilder()‎ لإنشاء كائن من النوع StringBuilder: fun main(args: Array<String>) { val sb1 = StringBuilder("hsoub") // ...

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

تنشئ الدالة StringBuilder()‎ كائنًا من النوع StringBuilder. البنية العامة StringBuilder(capacity: Int) StringBuilder(content: CharSequence) StringBuilder() StringBuilder(content: String = "") منصة التشغيل المطلوبة: JS. المعاملات capacity عدد صحيح يحدد حجم الكائن StringBuilder المراد إنشاؤها. content سلسلة من المحارف أو سلسلة نصية تمثل محتوى الكائن StringBuilder المراد إنشاؤها. القيم المعادة يعاد كائنٌ من النوع StringBuilder. أمثلة استعمال الدالة StringBuilder()‎ لإنشاء كائن من النوع StringBuilder: fun main(args: Array<String>) { val sb1 = StringBuilder("hsoub") // ...

البُنى الشرطية في Bash

سنتعلم في هذا الباب كيف نبني سلاسل شرطية في برامجنا بحيث نستطيع اتخاذ إجراءات مختلفة بناء على نجاح الأوامر أو فشلها، وستُحدد تلك الإجراءات باستخدام عبارة if، وسيسمح هذا بتنفيذ مقارنات حسابية ونصية، واختبار رموز الخروج والمدخلات والملفات التي يحتاجها البرنامج. عادة ما يسبق الأوامر في برامج الصدفة اختبارُ if/then/fi لمنع إنشاء الخرج كي يعمل البرنامج في الخلفية أو من خلال أداة cron، أما الشروط الأكثر تعقيدًا فتوضع في عبارة case. ويخبر البرنامج الصدفة الأم عند نجاح اختبار الشرط باستخدام ...

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

تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. البنية العامة Regex(pattern: String) Regex(pattern: String, option: RegexOption) Regex(pattern: String, options: Set<RegexOption>) تنشئ الدالة Regex()‎ تعبيرًا نمطيًا من النمط pattern مع ضبطه وفقًا الخيار option أو مجموعة الخيارات options (أو القيمة الافتراضية لهذه الخيارات إن لم يعطَ الوسيط option) التي تضبط ذلك النمط. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. options مجموعة تتألف من ...

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

تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. البنية العامة Regex(pattern: String) Regex(pattern: String, option: RegexOption) Regex(pattern: String, options: Set<RegexOption>) تنشئ الدالة Regex()‎ تعبيرًا نمطيًا من النمط pattern مع ضبطه وفقًا الخيار option أو مجموعة الخيارات options (أو القيمة الافتراضية لهذه الخيارات إن لم يعطَ الوسيط option) التي تضبط ذلك النمط. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. options مجموعة تتألف من ...

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

يمثل الصنف Array مصفوفة (مصفوفة Java تحديدًا عند استهداف المنصة JVM). يمكن إنشاء نسخ من هذا الصنف باستعمال الدوال ()‎arrayOf و ()‎arrayOfNulls و ()‎emptyArray الخاصة بالمكتبة القياسية. للمزيد من المعلومات حول المصفوفات، ارجع إلى قسم "المصفوفات" في توثيق الأنواع الأساسية. class Array<T> الدوال البانية <int> تنشِئ الدالة Array()‎ البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. الدوال والخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة (array). iterator تعيد هذه الدالة ...

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

يمثل الصنف BooleanArray مصفوفةً من القيم المنطقية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []boolean. class BooleanArray الدوال البانية init تنشئ الدالة BooleanArray()‎ البانية مصفوفة جديدة من الصنف BooleanArray بحجم معين تحوي قيمًا منطقية محدَّدة أو القيمة false المنطقية. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. الدوال get يجلب التابع get()‎ عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set()‎ قيمة عنصر ذي فهرس محدد موجود ...

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

يمثل الصنف BooleanArray مصفوفةً من القيم المنطقية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []boolean. class BooleanArray الدوال البانية init تنشئ الدالة BooleanArray()‎ البانية مصفوفة جديدة من الصنف BooleanArray بحجم معين تحوي قيمًا منطقية محدَّدة أو القيمة false المنطقية. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. الدوال get يجلب التابع get()‎ عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set()‎ قيمة عنصر ذي فهرس محدد موجود ...

استخدام البُنية case

حالات مُبسطة قد يكون من السهل اللجوء إلى استخدام عبارات if لبداهة أسلوبها، لكن تلك السهولة تنقلب إلى حيرة حين تواجه بضعة اختيارات مختلفة لإجراءات محتملة يجب اتخاذها، ولمثل تلك الحالات نستخدم عبارة case، وبنيتها اللغوية هي كما يلي: case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac وتطابق كل حالة في التعبير السابق نمطًا (pattern)، وتُنفَّذ الأوامر التي في قائمة COMMAND-LIST لأول تطابق، ويُستخدم محرف الأنبوب | لفصل الأنماط المتعددة، وينهي معامِل ( قائمة الأنماط، ويُطلق اسم البند ...

مقدمة إلى الدوال في Bash

ما هي الدوال؟ دوال الصدفة طريقة لتجميع أوامر من أجل تنفيذها لاحقًا باستخدام اسم واحد للمجموعة ككل أو روتين، ويجب أن يكون اسم الروتين فريدًا لا يتكرر في الصدفة أو الشيفرة النصية، وتُنفَّذ كل الأوامر التي تكوِّن الدالة مثل الأوامر العادية تمامًا. تُنفَّذ قائمة الأوامر المرتبطة باسم دالة حين تُستدعى تلك الدالة كأمر بسيط، وتُنفَّذ الدالة داخل الصدفة التي صُرِّح عنها فيها، فلا تُفتح عملية جديدة لتفسير الأوامر. وستظهر الأوامر الخاصة المُضمَّنة قبل دوال الصدفة أثناء البحث عن الأوامر، والأوامر ...

أمثلة عن الدوال في Bash

إعادة التدوير ستجد برامج كثيرة على نظامك تستخدم الدوال كطريقة منظمة لمعالجة سلسلة ما من الأوامر، ففي بعض أنظمة لينكس مثلًا ستجد الملف التعريفي etc/rc.d/init/functions/ يشار إليه كمصدر في كل شيفرات init النصية. وبهذا الأسلوب لا تحتاج إلى كتابة المهام المتكررة سوى مرة واحدة وبشكل عام أيضًا، مهام مثل تفقد ما إن كانت تعمل إحدى المهام، تشغيل أو إيقاف أحد العفاريت (daemons)، وهلم جرا. ثم إذا دعت الحاجة إلى كتابة تلك المهام مرة أخرى فإنك لا تحتاج سوى إعادة تدوير ...

الكلمات المفتاحية (Keywords) والمعاملات (Operators) في لغة Kotlin

 الكلمات المفتاحيّة الثابتة (Hard Keywords) تُعدُّ الكلمات الآتية كلماتٍ مفتاحيّةً في لغة Kotlin وليس ممكنًا استخدامها كمُعرِّفات (identifiers): as تُستخدَم في التحويلات ما بين الأنواع (typecasts) تُحدِّد تسميةً بديلةً (alias) عند عملية الاستيراد (import) as?‎ للتحويلات الحافظة للنوع (safe type casts) break لإنهاء تنفيذ الحلقات (loops) class للتصريح عن الأصناف continue  للاستمرار بالخطوة التالية لأقرب حلقة محيطة (enclosing) do للبدء بحلقة do/while (والتي يُختبَر الشرط فيها لاحقًا) else لتعريف فرعٍ (branch) من تعبير الشرط if والذي سيُنفَّذ عندما يكون الشرط بالقيمة false false ...

Kotlin/Topics

بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...

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

تعكس الدالة not()‎ القيمة المنطقيَّة المستدعاة معها. يمكن استعمال المعامل ! عوضًا عن هذه الدالة. البنية العامة operator fun not(): Boolean المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة يعاد عكس القيمة المنطقية المعطاة. أمثلة استخدام الدالة ()not لعكس قيمة منطقية معينة: fun main(args: Array<String>) { val x = true println(x.not()) // false println(!x) // false } انظر أيضًا الدالة and()‎: تجري العملية and المنطقية ...

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

تجري الدالة or()‎ العملية or المنطقية بين قيمتين منطقيتين؛ خلافًا للمعامل ||، تتحقق هذه الدالة من كلا القيمتين المنطقيتين. البنية العامة infix fun or(other: Boolean): Boolean وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد قيمة منطقية تكون ناتج إجراء العملية or على القيمتين المعطيتين. أمثلة استخدام الدالة ()or لتطبيق العملية or على قيمتين منطقيتين: fun ...

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

تجري الدالة and()‎ العملية and المنطقية بين قيمتين منطقيتين؛ خلافًا للمعامل &&، تتحقق هذه الدالة من كلا القيمتين المنطقيتين. البنية العامة infix fun and(other: Boolean): Boolean وجود الكلمة المفتاحية infix يدل على أنَّ هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد قيمة منطقية تكون ناتج إجراء العملية and على القيمتين المعطيتين. أمثلة استخدام الدالة ()and لتطبيق العملية and على قيمتين منطقيتين: fun ...

Kotlin/Native

ما هي تقنية Kotlin/Native؟ تُستخدَم تقنية Kotlin/Native لترجمة شيفرات Kotlin إلى الصيغة الثنائيّة الأساسيّة (native binaries) والتي لا تتطلَّب آلةً افتراضيّة (virtual machine) لتشغيلها، وتشمل كلًا من المعالجات الخلفيّة (أو السند الخلفي [backend]) المعتمدة على تقنيات مكتبة LLVM للمترجِم (compiler) وكذلك تعريف الاستخدام الأساسيّ (native implementation) من مكتبة التشغيل (runtime) في Kotlin، وقد صُمّمت هذه التقنية للسماح بالترجمة في منصّات العمل التي تكون فيها الآلات الافتراضيّة غير متاحةٍ أو مرغوبةٍ (مثل أنظمة iOS والأهداف المدمجة [embedded targets])، أو عندما يحتاج ...

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

تنشئ الدالة to()‎ عنصرًا من النوع Pair مكونًا من الكائن الذي استُدعي معه والمعامل الذي مُرّر إليه، أي العنصر that. البنية العامة infix fun <A, B> A.to(that: B): Pair<A, B> يُلاحَظ وجود الكلمة المفتاحية infix للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع توثيق التدوين الداخلي للدوال (infix functions). المعاملات that الكائن المراد استعماله مع الكائن المعطى في إنشاء كائن من ...

الواجهات البرمجية لتوقيت الأداء (Performance Timing API)

الاستقرار: 1- تجريبي. تقدم الواجهة البرمجية لتوقيت الأداء تطبيقًا لمواصفات W3C Performance Timeline. الغرض من  الواجهة البرمجية (API) هو دعم مجموعة من مقاييس الأداء عالية الدقة. والتي هي نفس واجهات الأداء المُطبّقة في متصفحات الويب الحديثة. const { PerformanceObserver, performance } = require('perf_hooks'); const obs = new PerformanceObserver((items) => { console.log(items.getEntries()[0].duration); performance.clearMarks(); }); obs.observe({ entryTypes: ['measure'] }); performance.mark('A'); doSomeLongRunningProcess(() => { performance.mark('B'); performance.measure('A to B', 'A', 'B'); }); الصنف: Performance أُضيف في الإصدار: 8.5.0. performance.clearMarks([name‎]‎)‎ أُضيفت في الإصدار: 8.5.0 name <string>‎ إذا ...

الدوال من المرتبة الأعلى (Higher-Order Functions) و Lambdas

الدوال من المرتبة الأعلى (Higher-Order Functions) وهي الدوال التي تقبل دوالًا أخرى كمعاملاتٍ (parameters) لها، أو تلك التي تُعيد (return) دوالًا أخرى كنتيجة لها، وكمثالٍ عنها لنأخذ الدالة lock()‎، وهي الدالة التي تقبل كائنًا lock ودالةً أخرى، حيث ستحصلُ الدالة على الكائن lock وتُنفِّذُ الدالةَ الوسيطةَ ثم تُحرِّر القفل في النهاية، كما في الشيفرة: fun <T> lock(lock: Lock, body: () -> T): T { lock.lock() try { ...

أسئلة شائعة عن لغة Kotlin

ما هي لغة Kotlin؟ تُعدُّ Kotlin إحدى لغات البرمجة مفتوحة المصدر (OSS) والمكتوبة ستاتيكيًّا، وتستهدف كلًا من بيئة JVM و Android و JavaScript و Native، وقد طُوِّرت من قِبل شركة JetBrains بدءًا من العام 2010 حيث كانت مفتوحة المصدر منذ بداياتها الأولى، ونٌشر الإصدار الرسميّ Kotlin 1.0 في الشهر الثاني (شباط) من عام 2016. ما النسخة الحاليّة للغة Kotlin؟ نٌشر الإصدار الأخير للغة Kotlin في الأوّل من الشهر الثالث (آذار) من عام 2018 وهو الإصدار Kotlin 1.2.30. هل Kotlin مجانيّة؟ ...

استخدام لغة Kotlin للتطوير في بيئة Android

تُعدُّ لغة Kotlin أداةً مناسبةً لتطوير تطبيقات Android لأنّها تزوِّد بمنصةٍ للعمل في نظام Android بميّزات لغات البرمجة الحديثة بدون فرض أي قيودٍ جديدة. ميزات استخدام لغة Kotlin للتطوير في بيئة Android التوافقيّة (Compitability): تتوافق لغة Kotlin كليًّا مع بيئة JDK6، وبهذا تتيح  تشغيل التطبيقات المكتوبة بلغة Kotlin على الأجهزة ذات الإصدارات الأقدم من أنظمة Android بدون أي مشاكل تُذكر، كما وتدعم برمجيةُ Android Studio أدوات لغة Kotlin بشكلٍ تامّ ومتوافقٍ مع أنظمة بناء Android. الأداء (Performance): تعمل التطبيقات المكتوبة ...

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

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

استخدام لغة Kotlin في تطوير تطبيقات الخادم (Server)

تُعدّ لغة Kotlin أداةً قويةً في تطوير تطبيقات الخادم (server)؛ إذ تكون الشيفرات فيها دقيقةً ومعبِّرة، وتمتاز بالتوافقيّة التامّة مع لغة Java ومن السهل تعلُّمها بسرعة. ميزات استخدام لغة Kotlin لتطوير تطبيقات الخادم (Server) القدرة على التعبير (Expressiveness): تساعد مميّزات لغة Kotlin المبتكرَة (مثل دعمها للمنشِئ الحافظ للنوع (type-safe builder) والخاصّيات المُعمّمة (delegated properties)) على إنشاء البنى التجريديّة (abstraction) سهلةِ الاستخدام. قابلية التوسّع (Scalability): تدعم لغة Kotlin ميّزة الروتينات المساعدة (coroutines)، وهي بهذا تتيح -في تطبيقات الخادم- إمكانيّة التوسّع لعددٍ ...

إنشاء وتشغيل برنامج Bash

الكتابة والتسمية إن كان لديك سلسلة أوامر تنفذها بشكل متكرر وتريد اختصار وقت تنفيذها أو تنفيذها بشكل آلي، فيمكنك وضعها في ملف فارغ يكتب بصيغة معينة وتقرؤه الصدفة على أنه برنامج تنفذه عند استدعاءه بكتابة اسم الملف الذي يحويه، وتسمى تلك البرامج ببرامج الصدفة أو شيفرات الصدفة النصية (Shell Scripts). ويمكن استخدام تلك البرامج لأتمتة المهام باستخدام أداة cron أو في إجراءات الإقلاع وإيقاف التشغيل في أنظمة يونكس، حيث يُحدَّد أسلوب عمل العفاريت (daemons) والخدمات في شيفرات init النصية (init ...

أساسيات كتابة برامج Bash

في أي صدفة سيعمل البرنامج؟ يجب أن تحدد الصدفة التي ستنفِّذ البرنامج إذا أردت تنفيذه في صدفة فرعية، فقد لا تكون الصدفة التي كتبت فيها البرنامج هي الصدفة الافتراضية لنظامك، وعليه قد تُنتِج أوامر برنامجك أخطاءً عند تنفيذها في الصدفة الخطأ. يحدد أول سطر في البرنامج نوع الصدفة، ويجب أن يكون أول محرفين في ذلك السطر !#، ثم يتلو ذلك مسار الصدفة التي ستنفِّذ البرنامج. كذلك لا تبدأ برنامجك بسطر فارغ إذ تُقرأ الأسطر الفارغة على أنها أسطر أيضًا، وستبدأ ...

الدالة Char.compareTo()‎ في Kotlin

توازن الدالة compareTo()‎ بين قيمة المحرف الذي استُدعي معها والقيمة المُمرّرة إليها ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة المحرف الذي استُدعي معها) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. البنية العامة fun compareTo(other: Char): Int المعاملات other المحرف الآخر الذي يراد موازنته مع المحرف المعطى. القيمة المعادة تعاد القيمة 0 إن كانت القيمة المعطاة متساوية مع قيمة الوسيط other، أو تعاد قيمة سالبة إن كانت القيمة الأولى ...

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

تجلب الدالة lastIndexOf()‎ فهرس آخر ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة lastIndexOf()‎ مع المصفوفات، والمجموعات والقوائم: fun <T> Array<out T>.lastIndexOf(element: T): Int fun ByteArray.lastIndexOf(element: Byte): Int fun ShortArray.lastIndexOf(element: Short): Int fun IntArray.lastIndexOf(element: Int): Int fun LongArray.lastIndexOf(element: Long): Int fun FloatArray.lastIndexOf(element: Float): Int fun DoubleArray.lastIndexOf(element: Double): Int fun BooleanArray.lastIndexOf(element: Boolean): Int fun CharArray.lastIndexOf(element: Char): Int fun <T> Iterable<T>.lastIndexOf(element: T): Int fun <T> List<T>.lastIndexOf(element: T): Int القيم المعادة يعاد فهرس آخر ظهور للعنصر المعطى والموجود في المصفوفة أو المجموعة أو القائمة المعطاة، أو القيمة ‎-1 إن لم ...

الدالة CharSequence.indexOf()‎ في Kotlin

تجلب الدالة indexOf()‎ فهرس أول ظهور لمحرف أو سلسلة نصية محدَّدة من سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.indexOf( char: Char, startIndex: Int = 0, ignoreCase: Boolean = false ): Int fun CharSequence.indexOf( string: String, startIndex: Int = 0, ignoreCase: Boolean = false ): Int المعاملات char المحرف المراد البحث عنه ضمن سلسلة من المحارف. startIndex السلسلة النصية المراد البحث عنها ضمن ...

الدالة Float.toFloat()‎ في Kotlin

تحوّل الدالة toFloat()‎ العدد الذي استُدعي معها إلى عدد عشري (أي من النوع Float). هذا قد يؤدي إلى تدوير العدد المراد تحويله. البنية العامة fun toFloat(): Float حلت الدالة Number.toFloat()‎ مكان هذه الدالة. القيمة المعادة يعاد عدد عشري (من النوع Float) يحوي العدد المعطى. أمثلة استعمال الدالة ()toFloat لتحويل عدد إلى عدد عشري: fun main(args: Array<String>) { val x : Float = 52.0f print(x.toFloat() ) // 52.0 } انظر أيضًا الدالة toByte()‎: تحول ...

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

تجلب الدالة takeWhile()‎ أول عناصر محققة لشرطٍ محدَّدٍ من المصفوفة أو القائمة التي استُدعيت معها.  البنية العامة inline fun <T> Array<out T>.takeWhile( predicate: (T) -> Boolean ): List<T> inline fun ByteArray.takeWhile( predicate: (Byte) -> Boolean ): List<Byte> inline fun ShortArray.takeWhile( predicate: (Short) -> Boolean ): List<Short> inline fun IntArray.takeWhile( predicate: (Int) -> Boolean ): List<Int> inline fun LongArray.takeWhile( predicate: (Long) -> Boolean ): List<Long> inline fun FloatArray.takeWhile( predicate: (Float) ...

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

توازن الدالة compareTo()‎ بين قيمة العنصر الذي استُدعيت معه والقيمة المُمرّرة إليه ثمَّ تعيد القيمة 0 إن كانا متساويين، أو قيمة سالبة إن كانت القيمة الأولى (قيمة العنصر الذي استُدعيت معه) أصغر من القيمة الثانية، أو قيمة موجبة إن كانت القيمة الأولى أكبر من القيمة الثانية. البنية العامة fun compareTo(other: Boolean): Int (source) المعاملات other القيمة المنطقية الأخرى التي ستطبق عليها العملية. القيمة المعادة تعاد القيمة 0 إن كانت القيمة المعطاة متساوية مع القيمة other، أو تعاد قيمة سالبة إن ...

الدالة Regex.toString()‎ في Kotlin

تحول الدالة toString()‎ تعبيرًا نمطيًّا إلى سلسلة نصية (أي نمط [Pattern] ذلك التعبير النمطي). البنية العامة fun toString(): String القيمة المعادة تعاد سلسلة نصية تمثل التعبير النمطي المعطى. أمثلة استعمال الدالة toString()‎ لتحويل تعبير نمطيّ إلى سلسلة نصية: fun main(args: Array<String>) { // يطابق التعبير النمطي التالي القيم العددية val reg = Regex("""-?\d+(\.\d+)?""") println(reg.toString()) // => -?\d+(\.\d+)? } انظر أيضًا الدالة toPattern()‎: تحول كائنًا من النوع Regex (تعبيرًا نمطيًا) إلى النوع Pattern (نمط).  ...

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

تجلب الدالة substringAfter()‎ كل الجزء الواقع بعد أول ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية. البنية العامة fun String.substringAfter( delimiter: Char, missingDelimiterValue: String = this ): String (source) fun String.substringAfter( delimiter: String, missingDelimiterValue: String = this ): String المعاملات delimiter المحرف أو السلسلة النصية التي يراد جلب كامل الجزء الواقع بعدها. missingDelimiterValue السلسلة النصية التي ستعاد في حال لم يكن المعامل delimiter موجودًا ضمن السلسلة النصية المعطاة. القيمة الافتراضية هي: this (أي السلسلة النصية المعطاة نفسها). القيم المعادة ...

الثابت Float.MAX_VALUE في Kotlin

يمثل الثابت Float.MAX_VALUE أكبر قيمة موجبة نهائية (finite) لعدد عشري (float). البنية العامة const val MAX_VALUE: Float أمثلة استخدام الثابت Float.MAX_VALUE لمعرفة أكبر عدد عشري موجب يمكن استعماله: fun main(args: Array<String>) { println(Float.MAX_VALUE) // 3.4028235E38 } انظر أيضًا الثابت Float.MIN_VALUE: يمثل أصغر قيمة موجبة غير صفرية يمكن أن يأخذها عدد عشري (float). الثابت Float.NEGATIVE_INFINITY: يمثل قيمة سالبة لا نهائية (infinity) لعدد عشري (float). الثابت Float.POSITIVE_INFINITY: يمثل قيمة موجبة لا نهائية (infinity) لعدد عشري (float). ...

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

تتحقَّق الدالة singleOrNull()‎ من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط، أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده، أو تعيد القيمة null خلاف ذلك. البنية العامة إن استدعيت الدالة singleOrNull()‎ مع مصفوفة أو مجموعة أو قائمة دون تمرير أي معامل، فستتحقَّق من احتواء تلك المصفوفة أو المجموعة أو القائمة على عنصر واحد فقط ثمَّ تعيده. وفي حال كانت تلك المصفوفة أو المجموعة أو القائمة فارغةً أو تحوي أكثر من عنصر واحد، فستعيد الدالة singleOrNull()‎ القيمة null: fun <T> Array<out T>.singleOrNull(): T? ...

الدالة Regex.matchEntire()‎ في Kotlin

تحاول الدالة matchEntire()‎ مطابقة جميع محارف السلسلة الممررة إليها مع التعبير النمطي الذي استدعي معها. البنية العامة actual fun matchEntire(input: CharSequence): MatchResult? المعاملات input سلسلة المحارف التي يراد تطابق جميع محارفها مع التعبير النمطي المعطى. القيمة المعادة تعاد نسخةٌ من الصنف MatchResult تحتوي على جميع محارف المعامل input إن تطابقت جميع تلك المحارف مع التعبير النمطي المعطى، أو تعاد القيمة null خلاف ذلك. أمثلة استعمال الدالة matchEntire()‎ لمعرفة سلسلة المحارف المطابقة للتعبير النمطي ‎-?\d+(\.\d+)?‎ بشكل كامل: fun main(args: Array<String>) { ...

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

تعيد الدالة unzip()‎ قائمتين، إذ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية التي استُدعيت معها وتحتوي الثانية على القيم الثانية لكل زوج من تلك الأزواج. البنية العامة يمكن استدعاء الدالة unzip()‎ مع المصفوفات والمجموعات التكرارية: fun <T, R> Array<out Pair<T, R>>.unzip(): Pair<List<T>, List<R>> fun <T, R> Iterable<Pair<T, R>>.unzip(): Pair<List<T>, List<R>> القيمة المعادة تعاد قائمتين؛ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية المعطاة وتحتوي الثانية على القيم الثانية لكل ...

الدالة CharSequence.groupingBy()‎ في Kotlin

تُنشئ الدالة groupingBy()‎ موردًا (source) من النوع Grouping من سلسلة المحارف التي استُدعيت معها لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold operations) وذلك باستخدام الدالة keySelector المُمرّرة إليها لاستخلاص مفتاح من كل محرف. البنية العامة inline fun <K> CharSequence.groupingBy( crossinline keySelector: (Char) -> K ): Grouping<Char, K> الإصدار المطلوب: kotlin 1.1. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات keySelector الدالة المستعملة في استخلاص مفتاح من كل محرف. القيم المعادة يُعاد موردٌ من النوع Grouping من المصفوفة أو المجموعة المعطاة لاستخدامه لاحقًا مع عمليات التجميع (group-and-fold). أمثلة ...

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

يجلب التابع get()‎ عنصرًا ذي فهرس محدد من المصفوفة. يمكن الاستعاضة عن هذا التابع باستخدام معامل الفهرسة (index operator) المتمثل بالقوسين [] بالشكل: value = arr[index]‎ البنية العامة operator fun get(index: Int): Boolean وجود الكلمة المفتاحية operator يدل على أنّ هذا التابع مرتبط بمعامل الفهرسة الذي ذكرناه آنفًا. المعاملات index عدد صحيح يمثل فهرس العنصر المراد جلبه. القيم المعادة يعاد العنصر ذو الفهرس index المحدِّد والموجود في المصفوفة المعطاة. أمثلة استعمال التابع get()‎ لجلب العنصر الثاني من مصفوفة قيم منطقية: fun ...

الدالة Regex.find()‎ في Kotlin

تبحث الدالة find()‎ عن أول محرف متطابق مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء عملية البحث عند محرف معين. البنية العامة actual fun find( input: CharSequence, startIndex: Int = 0 ): MatchResult? تبحث الدالة find()‎ عن أول محرف متطابق مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف input الممررة إليها. يمكن البحث في سلسلة المحارف المعطاة بأكملها، أو يمكن بدء ...

الدالة CharSequence.single()‎ في Kotlin

تتحقَّق الدالة single()‎ من حواية سلسلة المحارف التي استُدعيت معها محرفًا واحدًا فقط أو محرفًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده أو تطلق استثناءً خلاف ذلك. البنية العامة fun CharSequence.single(): Char  inline fun CharSequence.single(     predicate: (Char) -> Boolean ): Char وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات predicate دالة تطبق على كل محرف من محارف السلسلة المعطاة. يمرر إليها محرفٌ وتعيد قيمة منطقية مقابله له. القيم المعادة يعاد المحرف ...

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

تعيد الدالة toString()‎ سلسلة نصية تمثل الكائن الذي استدعيت معه. البنية العامة fun Any?.toString(): String القيم المعادة تعاد سلسلة نصيّة (string) تمثّل الكائن المُحدَّد. أمثلة استخدام الدالةtoString()‎ مع متغير بسيط: fun main(args: Array<String>) { var x = 5 println(x.toString()) // 5 } استخدام الدالة toString()‎ مع المصفوفات: import java.util.* fun main(args: Array<String>) { val nums = arrayOf(1, 2, 3, 4, 5) println(Arrays.toString(nums)) // [1, 2, 3, 4, 5] } انظر أيضًا الدالة hashCode()‎: ...

الدالة Double.toInt()‎ في Kotlin

تحوّل الدالة toInt()‎ العدد العشري المضاعف (double) الذي استُدعي معها إلى عدد صحيح (أي من النوع Int). هذا قد يؤدي إلى تدوير العدد المراد تحويله أو اقتطاع جزءٍ منه. البنية العامة fun toInt(): Int حلت الدالة Number.toInt()‎ مكان هذه الدالة. القيمة المعادة يعاد عدد صحيح (من النوع Int) يحوي العدد العشري المضاعف المراد تحويله. أمثلة استعمال الدالة ()toInt لتحويل عدد عشري مضاعف إلى عدد صحيح: fun main(args: Array<String>) { val x: Double = 52.6 ...

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

تحوّل الدالة toTitleCase()‎ المحرف الذي استٌدعي معها إلى محرف عنواني (titlecase). تتكون المحارف العنوانية عادةً من محرفين ملتصقين، مثل 'Dž' أو 'Nj'، إذ يعاملان وكأنَّهما محرفٌ واحدٌ فقط. البنية العامة inline fun Char.toTitleCase(): Char وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة يعاد الحرف Char المعطى بعد تحويله إلى حرف عنواني. أمثلة تُعرّف الشيفرة الآتية حرفًا باسم x ثم تستدعي الدالة toTitleCase()‎ معه، ثم تطبع الناتج: fun main(args: Array<String>) { ...

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

تنشئ الدالة zip()‎ أزواجًا من محارف سلسلتين لها نفس الفهرس، أو تنشئ قيمًا عبر تمرير عناصر لها نفس الفهرس تجلب من كائنين مختلفين إلى دالة معينة. البنية العامة infix fun CharSequence.zip( other: CharSequence ): List<Pair<Char, Char>> إن استدعيت الدالة zip()‎ مع سلسلة من المحارف ومع تمرير سلسلة أخرى إليها كمعامل، فستشكل أزواجًا من محارف هاتين السلسلتين لها نفس الفهرس وتضعها في قائمة؛ طول القائمة المعادة يساوي طول أٌقصرهما. inline fun <V> CharSequence.zip( other: CharSequence, transform: (a: Char, b: Char) -> V ): List<V> وإن ...

الثابت Char.MIN_SURROGATE في Kotlin

يمثل الثابت Char.MIN_SURROGATE القيمة الدنيا لبديل لعدد بتات الترميز الموحد (Unicode surrogate code unit). البنية العامة const val MIN_SURROGATE: Char انظر أيضًا الثابت Char.MAX_HIGH_SURROGATE: يمثّل القيمة القصوى للبديل الأعلى لوحدة اليونيكود (Unicode high-surrogate code unit). الثابت Char.MAX_LOW_SURROGATE: يمثل القيمة القصوى للبديل الأدنى لوحدة اليونيكود (Unicode low-surrogate code unit). الثابت Char.MAX_SURROGATE‎: يمثِّل القيمة القصوى لبديل وحدة اليونيكود (Unicode surrogate code unit). الثابت Char.MIN_HIGH_SURROGATE: يمثل القيمة الدنيا للبديل الأعلى لوحدة اليونيكود (Unicode high-surrogate code unit). الثابت Char.MIN_LOW_SURROGATE‎: يمثل القيمة الدنيا للبديل الأدنى ...

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

تتحقق الدالة isLetterOrDigit()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا أو رقمًا. البنية العامة inline fun Char.isLetterOrDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا أو رقمًا، أو تعاد القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetterOrDigit()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا أو رقمًا: fun main(args: Array<String>) { val ...

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

تجلب الدالة elementAtOrNull()‎ عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة القيمة العدمية null. البنية العامة يمكن استدعاء الدالةelementAtOrNull()‎ مع المصفوفات: inline fun <T> Array<out T>.elementAtOrNull(index: Int): T? inline fun ByteArray.elementAtOrNull(index: Int): Byte? inline fun ShortArray.elementAtOrNull(index: Int): Short? inline fun IntArray.elementAtOrNull(index: Int): Int? inline fun LongArray.elementAtOrNull(index: Int): Long? inline fun FloatArray.elementAtOrNull(index: Int): Float? inline fun DoubleArray.elementAtOrNull(index: Int): Double? inline fun BooleanArray.elementAtOrNull(index: Int): Boolean? inline fun CharArray.elementAtOrNull(index: Int): Char? ومع ...

الدالة CharSequence.contains()‎ في Kotlin

تتحقق الدالة contains()‎ إن كانت سلسلة المحارف التي استُدعيت معها تحوي المحرف أو سلسلة المحارف المُمرّرة إليها. إن مُرِّر تعبير نمطي إلى هذه الدالة، فستتحقق إن كانت سلسلة المحارف التي استُدعيت معها تحوي محرفًا واحدًا على الأقل متطابقًا مع ذلك التعبير النمطي. البنية العامة operator fun CharSequence.contains( other: CharSequence, ignoreCase: Boolean = false ): Boolean operator fun CharSequence.contains( char: Char, ignoreCase: Boolean = false ): Boolean inline operator fun ...

الدالة String.compareTo()‎ في Kotlin

توازن الدالة compareTo()‎ بين سلسلتين نصيتين معجميًّا (lexicographically)، مع إمكانية تجاهل حالة الأحرف. البنية العامة fun String.compareTo( other: String, ignoreCase: Boolean = false ): Int وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). المعاملات other السلسلة النصية المراد موازنتها مع السلسلة النصية المعطاة. ignoreCase قيمة منطقية تحدد إن كان يراد تجاهل حالة الحروف أم لا أثناء الموازنة. القيمة الافتراضية هي: false أي أخذ حالة الحروف بالحسبان. القيم المعادة تعاد ...

الدالة ByteArray.set()‎ في Kotlin

تضبط الدالة set()‎ قيمة عنصر ذي فهرس محدد موجود في المصفوفة المستدعاة معه. يمكن الاستعاضة عن هذه الدالة باستخدام آلية الإسناد (assignment) ومعامل الفهرسة (index operator) بالشكل: arr[index]‎ = value البنية العامة operator fun set(index: Int, value: Double) وجود الكلمة المفتاحية operator يدل على أنّ هذه الدالة مرتبط بمعامل الفهرسة المذكور سابقًا. المعاملات index عدد صحيح يمثل فهرس العنصر المراد تغيير قيمته وتعيين القيمة value له. value القيمة المراد تعيينها إلى العنصر ذي الفهرس index. أمثلة استعمال الدالة set()‎ لتغيير قيمة العنصر الثاني والثالث إلى 5.34 و 98.5 على ...

الدالة Char.toDouble()‎ في Kotlin

تحوّل الدالة toDouble()‎ المحرف الذي استُدعي معها إلى عدد عشري مضاعف (أي من النوع Double). البنية العامة fun toDouble(): Double القيمة المعادة يعاد عدد عشري مضاعف من النوع Double يمثل القيمة العددية للمحرف المعطى. أمثلة استعمال الدالة ()toDouble لتحويل المحرف 'a' إلى عدد عشري مضاعف: fun main(args: Array<String>) { val x = 'a' println(x.toDouble()) // 97.0 } انظر أيضًا الدالة toByte()‎ : تحوّل المحرف الذي استُدعي معها إلى ...

الدالة Regex.containsMatchIn()‎ في Kotlin

تتحقق الدالة containsMatchIn()‎ إن كان بإمكان التعبير النمطي الذي استُدعي معها مطابقة محرفٍ واحدٍ على الأقل من سلسلة المحارف المُمرّرة إليه. البنية العامة actual fun containsMatchIn(input: CharSequence): Boolean المعاملات input سلسلة المحارف التي يراد التحقق من تطابق أحد محارفها -على الأقل- مع التعبير النمطي المعطى. القيمة المعادة تعاد القيمة true المنطقية إن بإمكان التعبير النمطي المعطى مطابقة محرفٍ واحدٍ على الأقل من سلسلة المحارف input، أو تعاد القيمة false خلاف ذلك. أمثلة تنشئ الدالة Regex()‎ في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة الأعداد، ثم تُستعمَل ...

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

تبدل الدالة replaceFirst()‎ محرفًا جديدًا مكان أول ظهور لمحرف قديم، أو سلسلة نصية جديدة مكان أول ظهور لسلسلة نصية قديمة، أو سلسلة نصية جديدة أو ناتج تنفيذ دالة مكان أول ما يطابق تعبير نمطي معين في سلسلة نصية أو سلسلة من المحارف. البنية العامة actual fun String.replaceFirst( oldChar: Char, newChar: Char, ignoreCase: Boolean = false ): String actual fun String.replaceFirst( oldValue: String, newValue: String, ...

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

تتحقق الدالة isJavaIdentifierPart()‎ إن كان من المحتمل أن يكون المحرف الذي استٌدعي معها جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف. البنية العامة inline fun Char.isJavaIdentifierPart(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان من المحتمل أن يكون المحرف المعطى جزءًا من مُعرِّف جافا (Java identifier) وليس المحرف الأول من المُعرّف، أو القيمة false خلاف ذلك. أمثلة ...

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

ترتِّب الدالة sortedBy()‎ جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة. البنية العامة inline fun <T, R : Comparable<R>> Array<out T>.sortedBy( crossinline selector: (T) -> R? ): List<T> inline fun <R : Comparable<R>> ByteArray.sortedBy( crossinline selector: (Byte) -> R? ): List<Byte> inline fun <R : Comparable<R>> ShortArray.sortedBy( crossinline selector: (Short) -> R? ): List<Short> inline fun <R ...

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

تجمع الدالة foldIndexed()‎ ناتج تطبيق عملية معينة على قيمة كل عنصر من عناصر المصفوفة أو المجموعة (بدءًا من اليسار إلى اليمين) المستدعاة معها وفهرس ذلك العنصر بشكل تراكمي بالإضافة إلى القيمة الأولية إن أعطيت. البنية العامة يمكن استدعاء الدالة foldIndexed()‎ مع المصفوفات: inline fun <T, R> Array<out T>.foldIndexed( initial: R, operation: (index: Int, acc: R, T) -> R ): R inline fun <R> ByteArray.foldIndexed( initial: R, operation: ...

الدالة Char.dec()‎ في Kotlin

تعيد الدالة dec()‎ المحرف السابق للمحرف الذي استُدعيت معه. البنية العامة operator fun dec(): Char وجود الكلمة المفتاحيّة operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator). القيمة المعادة يعاد المحرف السابق للمحرف المعطى. أمثلة استعمال الدالة ()dec لجلب الحرف الذي يسبق الحرف 'f': fun main(args: Array<String>) { val x = 'f' println(x.dec()) // e } انظر أيضًا الدالة compareTo()‎: توازن بين قيمة العنصر الذي استُدعيت معه والقيمة المُمرّرة إليه ثمَّ تعيد القيمة 0 إن كانا ...

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

ترتِّب الدالة sortedWith()‎ جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة. البنية العامة fun <T> Array<out T>.sortedWith( comparator: Comparator<in T> ): List<T> fun ByteArray.sortedWith( comparator: Comparator<in Byte> ): List<Byte> fun ShortArray.sortedWith( comparator: Comparator<in Short> ): List<Short> fun IntArray.sortedWith( comparator: Comparator<in Int> ): List<Int> fun LongArray.sortedWith( comparator: Comparator<in Long> ): List<Long> fun FloatArray.sortedWith( comparator: Comparator<in Float> ): List<Float> fun DoubleArray.sortedWith( ...

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

تحول الدالة toMutableSet()‎ المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوع MutableSet؛ تحافظ المجموعة المُعادة على نفس ترتيب تكرار المصفوفة أو المجموعة التكرارية الأصلية. البنية العامة يمكن استدعاء الدالة toMutableSet()‎ مع المصفوفات والمجموعات التكرارية: fun <T> Array<out T>.toMutableSet(): MutableSet<T> fun ByteArray.toMutableSet(): MutableSet<Byte> fun ShortArray.toMutableSet(): MutableSet<Short> fun IntArray.toMutableSet(): MutableSet<Int> fun LongArray.toMutableSet(): MutableSet<Long> fun FloatArray.toMutableSet(): MutableSet<Float> fun DoubleArray.toMutableSet(): MutableSet<Double> fun BooleanArray.toMutableSet(): MutableSet<Boolean> fun CharArray.toMutableSet(): MutableSet<Char> fun <T> Iterable<T>.toMutableSet(): MutableSet<T> القيمة المعادة تعاد مجموعة من النوع MutableSet تحوي جميع عناصر ...

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

يمثل الصنف MatchGroup النتائج التي نحصل عليها من مجموعة واحدة ضمن MatchResult الخاصة بالصنف Regex. data actual class MatchGroup الدوال البانية <init> تنشئ كائنًا من النوع MatchGroup الذي يمثل النتائج التي نحصل عليها من مجموعة واحدة ضمن MatchResult الخاصة بالصنف Regex.   الخاصيات range تمثل مجال الفهارس التي تحدّد مكان مجموعة النتائج التي تم الحصول عليها. value تمثل قيمة مجموعة النتائج التي تم الحصول عليها. الدوال الموروثة equals يبين إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعي معه. hashCode يعيد الشيفرة ...

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

تضيف الدالة plus()‎ الوسيط المُمرَّر إليها إلى الكائن الذي استدعيت معه. البنية العامة إن استدعيت الدالة plus()‎ مع المصفوفات، فستعيد مصفوفة تضم جميع عناصر المصفوفة التي استدعيت معها إضافةً إلى العنصر المُمرّر إليها: operator fun <T> Array<T>.plus(element: T): Array<T> operator fun ByteArray.plus(element: Byte): ByteArray operator fun ShortArray.plus(element: Short): ShortArray operator fun IntArray.plus(element: Int): IntArray operator fun LongArray.plus(element: Long): LongArray operator fun FloatArray.plus(element: Float): FloatArray operator fun DoubleArray.plus(element: Double): DoubleArray operator fun BooleanArray.plus( element: Boolean ): BooleanArray وإن استدعيت هذه ...

الثابت Byte.MAX_VALUE في Kotlin

يمثِّل الثابت Byte.MAX_VALUE‎ أكبر قيمة يمكن تخزينها في النوع Byte. البنية العامة const val MAX_VALUE: Byte أمثلة استعمال الثابت MAX_VALUE لمعرفة أكبر قيمة يمكن أن يأخذها النوع Byte: fun main(args: Array<String>) { println(Byte.MAX_VALUE) // 127 } انظر أيضًا الثابت MAX_VALUE: يمثِّل أصغر قيمة يمكن تخزينها في النوع Byte. مصادر صفحة الثابت Byte.MAX_VALUE‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.

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

تضيف الدالة filterIsInstanceTo()‎ عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destination المُمرّرة إليها. البنية العامة inline fun <reified R, C : MutableCollection<in R>> Array<*>.filterIsInstanceTo( destination: C ): C inline fun <reified R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo( destination: C ): C يمكن تمرير معامل klass إلى الدالة filterIsInstanceTo()‎: fun <C : MutableCollection<in R>, R> Array<*>.filterIsInstanceTo( destination: C, klass: Class<R> ): C fun ...

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

تعيد الدالة mapIndexed()‎ قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة mapIndexed()‎ مع المصفوفات والمجموعات: inline fun <T, R> Array<out T>.mapIndexed( transform: (index: Int, T) -> R ): List<R> inline fun <R> ByteArray.mapIndexed( transform: (index: Int, Byte) -> R ): List<R> inline fun <R> ShortArray.mapIndexed( transform: (index: Int, Short) -> R ): List<R> inline fun <R> IntArray.mapIndexed( ...

الدالة Regex_0 في Kotlin

أصبحت الدالة Regex_0 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية والخيارات المُمرّرة إليها. البنية العامة fun Regex_0(pattern: String, option: RegexOption): Regex منصة التشغيل المطلوبة: JS. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للخيار option. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة containsMatchIn()‎: تتحقق ...

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

تحول الدالة toDoubleArray()‎ المصفوفة العامة (أي من النوع Array<Double>‎) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع DoubleArray. البنية العامة fun Array<out Double>.toDoubleArray(): DoubleArray fun Collection<Double>.toDoubleArray(): DoubleArray القيمة المعادة تعاد مصفوفة من النوع DoubleArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Double>‎) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toDoubleArray لتحويل مصفوفة من النوع Array<Double>‎ إلى النوع DoubleArray: import java.util.Arrays fun main(args: Array<String>) { val array: Array<Double> = arrayOf(4.5, 5.4, 6.0) println(Arrays.toString(array.toDoubleArray())) // [4.5, 5.4, 6.0] ...

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

تتحقق الدالة isEmpty()‎ إن كانت المصفوفة التي استُدعيت معها فارغةً أم لا. البنية العامة inline fun <T> Array<out T>.isEmpty(): Boolean inline fun ByteArray.isEmpty(): Boolean inline fun ShortArray.isEmpty(): Boolean inline fun IntArray.isEmpty(): Boolean inline fun LongArray.isEmpty(): Boolean inline fun FloatArray.isEmpty(): Boolean inline fun DoubleArray.isEmpty(): Boolean inline fun BooleanArray.isEmpty(): Boolean inline fun CharArray.isEmpty(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). القيم المعادة تُعاد القيمة true إن كانت المصفوفة المعطاة فارغةً، أو القيمة false خلاف ...

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

تجلب الدالة minBy()‎ العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه. البنية العامة يمكن استدعاء الدالة minBy()‎ مع المصفوفات و المجموعات والخرائط: inline fun <T, R : Comparable<R>> Array<out T>.maxBy( selector: (T) -> R ): T? inline fun <R : Comparable<R>> ByteArray.maxBy( selector: (Byte) -> R ): Byte? inline fun <R : Comparable<R>> ShortArray.maxBy( selector: (Short) -> R ): ...

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

تتحقق الدالة contentDeepEquals()‎ من تساوي مصفوفتين بالعُمق، أي أنهما تحتويان على نفس العناصر وبنفس الترتيب. إن تقابل عنصران وكان كلاهما مصفوفتين متشعبتين، فسيُتحقق من تساويهما بالعمق أيضًا بالطريقة ذاتها. وإن كانت إحدى المصفوفتين تحتوي على مرجع لها (تحتوي على نفسها) في أيّ مستوى من مستويات التشعب، فسيكون سلوك الدالة غير محدَّد. البنية العامة inline infix fun <T> Array<out T>.contentDeepEquals( other: Array<out T> ): Boolean الإصدار المطلوب: Kotlin 1.1 وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من ...

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

تحذف الدالة trimEnd()‎ المحارف المحققة لشرط معين، أو محارف محددة، أو المسافات الفارغة من نهاية سلسلة المحارف أو السلسلة النصية التي استُدعيت معها.   البنية العامة inline fun CharSequence.trimEnd( predicate: (Char) -> Boolean ): CharSequence inline fun String.trimEnd( predicate: (Char) -> Boolean ): String fun CharSequence.trimEnd(vararg chars: Char): CharSequence fun String.trimEnd(vararg chars: Char): String fun CharSequence.trimEnd(): CharSequence inline fun String.trimEnd(): String يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات ...

الدالة String.intern()‎ في Kotlin

تعيد الدالة intern()‎ تمثيلًا معياريًّا (canonical representation) للسلسلة النصية التي استُدعيت معها. البنية العامة inline fun String.intern(): String بيئة التشغيل المطلوبة: JVM. القيم المعادة تعاد سلسلة نصية. أمثلة مثالٌ على استعمال الدالة ()intern: fun main(args: Array<String>) { var str = "hsoub" print(str.intern()) // hsoub } انظر أيضًا الدالة format()‎: تنسِّق سلسلة نصية وفقًا لقيمة المعاملات التي تمرر إليها. مصادر صفحة الدالة String.intern()‎ في التوثيق الرسمي للمكتبة القياسية في لغة Kotlin.

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

يوفر الصنف Destructured مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. يسمح الإسناد بالتفكيك باستخراج القيم الموجودة في المصفوفات أو المجموعات أو خاصيات أحد الكائنات ...إلخ. إلى متغيرات مستقلة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. إن كانت المجموعة في التعبير النمطي اختيارية ولم ترصد هذه المجموعة أي عملية تطابق تُذكر، فيمكن حينئذٍ أن تساوي قيمة المكون المقابل لهذه المجموعة سلسلةً نصيةً فارغةً. class Destructured الخاصيات match الدوال component1 component2 component3 component4 component5 component6 component7 ...

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