نتائج البحث

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

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

تسمح الدالة iterator()‎ بالتكرار (iterate) على كائنٍ ديناميكيّ (dynamic) في الحالات الآتية: إن كان لديه دالة تكراريّة (iterator function). إن كان مصفوفةً (array). إن كان نسخةً (instance) من Kotlin.collections.Iterable. البنية العامة operator fun dynamic.iterator(): Iterator<dynamic> بيئة التشغيل المطلوبة: JS. ويُلاحظ وجود الكلمة المفتاحيّة operator للدلالة على أنّ هذه الدالة مرتبطٌ بمعامل التكرار (iteration operator). انظر أيضًا الدالة ()asDynamic: تعيد قيمة الكائن الذي استدعيت عبره على شكل قيمةٍ من النوع الديناميكيّ (dynamic type). مصادر صفحة الدالة iterator()‎ في التوثيق الرسميّ للمكتبة القياسيّة ...

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

تسمح الدالة iterator()‎ بالتكرار (iterate) على كائنٍ ديناميكيّ (dynamic) في الحالات الآتية: إن كان لديه دالة تكراريّة (iterator function). إن كان مصفوفةً (array). إن كان نسخةً (instance) من Kotlin.collections.Iterable. البنية العامة operator fun dynamic.iterator(): Iterator<dynamic> بيئة التشغيل المطلوبة: JS. ويُلاحظ وجود الكلمة المفتاحيّة operator للدلالة على أنّ هذه الدالة مرتبطٌ بمعامل التكرار (iteration operator). انظر أيضًا الدالة ()asDynamic: تعيد قيمة الكائن الذي استدعيت عبره على شكل قيمةٍ من النوع الديناميكيّ (dynamic type). مصادر صفحة الدالة iterator()‎ في التوثيق الرسميّ للمكتبة القياسيّة ...

المجموعات (Collections) في Laravel

 مقدمة يوفر الصنف Illuminate\Support\Collection غلافًا ملائمًا و مساعدًا على العمل مع مصفوفات البيانات. مثلًا، تفقد الشيفرة الموالية إذ سنستعمل المساعد collect لإنشاء نسخة Collection جديدة من المصفوفة، ننفذ الدالة strtoupper مع كل عنصر، ثم نحذف كل العناصر الفارغة: $collection = collect(['taylor', 'abigail', null])->map(function ($name) { return strtoupper($name); }) ->reject(function ($name) { return empty($name); }); كما ترى، تسمح الدالة بسلسلة توابعها لتنفيذِ تخطيطِ دقيق و التحكم في حجم المصفوفة قيد العمل. بشكل عام، المجموعات غير قابلة للتغيير، أي أن كل ...

Ruby/Array/collect!

اختبار

الدالة iter()‎ في بايثون

تعيد الدّالة iter()‎ مُكرّرًا حسب المُعاملات المُعطاة. البنية العامة iter(object[, sentinel]) المعاملات object إن لم يكن المُعامل الثّاني sentinel حاضرًا، فلا بدّ لهذا المُعامل أن يكون كائنًا يدعم بروتوكول التّكرار (أي أنّ صنفه يُعرّف التّابع الخاصّ ‎_‎_‎iter‎_‎_‎(‎)‎)، أو يجب أن يدعم بروتوكول التّسلسلات (sequence protocol) الذي يُعرّف صنفه التّابع الخاصّ ‎_‎_‎getitem‎_‎_‎(‎)‎ مع مُعاملات تكون أعدادًا صحيحةً وتبدأ من الصّفر. وإن لم يدعم الكائن أيًّا من هذين البروتوكولين، فسيُطلق الاستثناء TypeError. sentinel مُعامل اختيّاريّ. إن مُرّرت قيمة لهذا المُعامل، فلا بدّ ...

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

المكرِّرات Iterators في بايثون

لعلّك لاحظت أن بالإمكان المرور على عناصر معظم الكائنات الحاوية (container objects) (مثل القوائم والقواميس والسلاسل النصية وغيرها...) باستخدام عبارة for: for element in [1, 2, 3]:     print(element) for element in (1, 2, 3):     print(element) for key in {'one':1, 'two':2}:     print(key) for char in "123":     print(char) for line in open("myfile.txt"):     print(line, end='') تستدعي عبارة for خلف الكواليس الدالة iter()‎ على الكائن الحاوي، فتعيد الدالة كائن تكرار (iterator object) يعرّف التابع ‎__next__‎()‎ الذي يستطيع الوصول إلى عنصر واحد في الكائن الحاوي ...

PHP Object Iteration

يقدّم الإصدار الخامس من اللغة طريقة لتعريف العناصر ليكون بالإمكان المرور على قائمة من العناصر باستخدام العبارة foreach على سبيل المثال، وتستخدم جميع الخصائص المرئية بصورة افتراضية لعملية المرور على العناصر. المثال 1: مثال بسيط على المرور على عناصر الكائن <?php class MyClass { public $var1 = 'value 1'; public $var2 = 'value 2'; public $var3 = 'value 3'; protected $protected = 'protected var'; private ...

تغليف المجموعات (Encapsulate Collection)

المشكلة صنف يحتوي على حقل مجموعة وجالب (getter) وضابط (setter) بسيط للعمل مع المجموعة. الحل ضبط القيمة المعادة من الجالب لتكون للقراءة فقط وإنشاء توابع لإضافة/حذف عناصر المجموعة. مثال قبل إعادة التصميم يحتوي الصنف Person على جالب getCourses وضابط setCourses بسيطين للتحكم بالدروس التي سجل بها الشخص: صنف يحتوي على حقل مجموعة وجالب (getter) وضابط (setter) بسيط للعمل مع المجموعة. بعد إعادة التصميم ضبط القيمة المعادة من الجالب setCourses لتصبح للقراءة فقط وإضافة تابعين جديدين أحدهما لإضافة دروس جديدة للشخص ...

التابع collections.__missing__()‎ في بايثون

يستدعى التابع ‎__missing__()‎ من قبل التابع ‎__getitem__()‎ في الصنف dict عند عدم العثور على المفتاح المطلوب. البنية العامة ‎__missing__(key) المعاملات key المفتاح المراد معرفة ما إذا كان مفقودًا أو لا. القيمة المعادة إن كانت الخاصية default_factory تحمل القيمة None، فإنّ التابع يطلق الاستثناء KeyError مع تقديم key كمعامل. إن لم تأخذ الخاصية default_factory القيمة None، فإنّ التابع يُستدعى بدون معاملات وذلك لتقديم قيمة افتراضية للمفتاح key المعطى، وتُدرج هذه القيمة كمفتاح في القاموس وتعاد. إن أدّى استدعاء default_factory إلى إطلاق ...

الدالة 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 وإن استدعيت هذه ...

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

تُنشِئ الدالة asIterable()‎نسخةً تكراريّةً (iterable instance) تُغلّف (wrap) المصفوفة الأصلية وتعيد عناصرَها عندما تُستخدَم في حلقات التكرار (مثل for). البنية العامة fun <T> Array<out T>.asIterable(): Iterable<T> fun ByteArray.asIterable(): Iterable<Byte> fun ShortArray.asIterable(): Iterable<Short> fun IntArray.asIterable(): Iterable<Int> fun LongArray.asIterable(): Iterable<Long> fun FloatArray.asIterable(): Iterable<Float> fun DoubleArray.asIterable(): Iterable<Double> fun BooleanArray.asIterable(): Iterable<Boolean> fun CharArray.asIterable(): Iterable<Char> ويمكن استدعاء الدالة asIterable()‎عبر مجموعة (collection) لتُعيدها على شكل عنصر تكراريّ (iterable): inline fun <T> Iterable<T>.asIterable(): Iterable<T> كما ويمكن استدعاء الدالة asIterable()‎عبر عنصر map وستعيد نسخةً تكراريةً (iterable instance) تُغلّف عنصر map الأصلي وتعيد مداخله (entries) ...

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

تحسب الدالة average()‎ متوسط (average) عناصر المصفوفة أو المجموعة (Collection) المعطاة لها. البنية العامة يمكن استدعاء الدالة average()‎ مع المصفوفات: @JvmName("averageOfByte") fun Array<out Byte>.average(): Double @JvmName("averageOfShort") fun Array<out Short>.average(): Double @JvmName("averageOfInt") fun Array<out Int>.average(): Double @JvmName("averageOfLong") fun Array<out Long>.average(): Double @JvmName("averageOfFloat") fun Array<out Float>.average(): Double @JvmName("averageOfDouble") fun Array<out Double>.average(): Double fun ByteArray.average(): Double fun ShortArray.average(): Double fun IntArray.average(): Double fun LongArray.average(): Double fun FloatArray.average(): Double fun DoubleArray.average(): Double ويمكن استدعاؤها مع المجموعات: @JvmName("averageOfByte") fun Iterable<Byte>.average(): Double @JvmName("averageOfShort") fun Iterable<Short>.average(): Double @JvmName("averageOfInt") fun ...

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

تُنشِئ الدالة asSequence()‎ نسخةً (instance) من النوع sequence والتي تُغلّف المصفوفة الأصلية وتعيد عناصرها عندما تُستخدَم في حلقات التكرار (مثل حلقة for). البنية العامة تختلف بحسب نوع المصفوفة التي تُستدعَى عبرها: fun <T> Array<out T>.asSequence(): Sequence<T> fun ByteArray.asSequence(): Sequence<Byte> fun ShortArray.asSequence(): Sequence<Short> fun IntArray.asSequence(): Sequence<Int> fun LongArray.asSequence(): Sequence<Long> fun FloatArray.asSequence(): Sequence<Float> fun DoubleArray.asSequence(): Sequence<Double> fun BooleanArray.asSequence(): Sequence<Boolean> fun CharArray.asSequence(): Sequence<Char> ويمكن استدعاء الدالة asSequence()‎عبر مجموعة (collection) وستعيد نسخةً من النوع sequence والتي تُغلّف المجموعة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدَم ...

التصريحات بالتفكيك (Destructuring Declarations) في لغة Kotlin

التصريح بالتفكيك قد تحتاج في بعض الأحيان لتفكيك الكائن (object) إلى عددٍ من المتغيِّرات، مثل: val (name, age) = person تٌسمَّى الصيغة السابقة بالتصريح بالتفكيك والذي يُنشِئ أكثر من متغيِّر بنفس الوقت (وهما المتغيِّرانname و age) حيث يُسمح باستخدامهما بشكلٍ مستقلٍ تمامًا كما في الشيفرة الآتية: println(name) println(age) إذ يُترجَم التصريح بالتفكيك كما يلي: val name = person.component1() val age = person.component2() حيث تُعدُّ الدالتان component1()‎ و component2()‎ مثالًا عن الاصطلاحات الأساسيّة المُستخدَمة في لغة Kotlin (راجع المُعامِلات مثل + و * وحلقات for و... ...

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

تجمع الدالة sum()‎ جميع قيم عناصر المصفوفة أو المجموعة التي استُدعيت معها ثمَّ تعيد الناتج. البنية العامة يمكن استدعاء الدالة sum()‎ مع المصفوفات: @JvmName("sumOfByte") fun Array<out Byte>.sum(): Int @JvmName("sumOfShort") fun Array<out Short>.sum(): Int @JvmName("sumOfInt") fun Array<out Int>.sum(): Int @JvmName("sumOfLong") fun Array<out Long>.sum(): Long @JvmName("sumOfFloat") fun Array<out Float>.sum(): Float @JvmName("sumOfDouble") fun Array<out Double>.sum(): Double fun ByteArray.sum(): Int fun ShortArray.sum(): Int fun IntArray.sum(): Int fun LongArray.sum(): Long fun FloatArray.sum(): Float fun DoubleArray.sum(): Double ومع المجموعات أيضًا : @JvmName("sumOfByte") fun Iterable<Byte>.sum(): Int @JvmName("sumOfShort") fun Iterable<Short>.sum(): Int @JvmName("sumOfInt") fun Iterable<Int>.sum(): Int ...

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

تستثني الدالة subtract()‎ العناصر المشتركة بين كائنين. تحافظ المجموعة (Set) المُعادة على ترتيب التكرار الخاص بالمجموعة (collection) المعطاة. البنية العامة يمكن استدعاء الدالة subtract()‎ مع المصفوفات والمجموعات التكرارية: infix fun <T> Array<out T>.subtract( other: Iterable<T> ): Set<T> infix fun ByteArray.subtract( other: Iterable<Byte> ): Set<Byte> infix fun ShortArray.subtract( other: Iterable<Short> ): Set<Short> infix fun IntArray.subtract(other: Iterable<Int>): Set<Int> infix fun LongArray.subtract( other: Iterable<Long> ): Set<Long> infix fun FloatArray.subtract( other: Iterable<Float> ): Set<Float> infix ...

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

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

الخاصية animation-iteration-count

الخاصية animation-iteration-count في CSS تُحدِّد عدد مرات تكرار دورة الحركة حتى توقف الحركة، وإذا حُدِّدت أكثر من قيمة فسيتم استخدام القيمة التي تلي القيمة التي طُبِّقَت سابقًا عند إعادة تشغيل الحركة، إلى أن نعود إلى القيمة الأولى بعد استخدام آخر قيمة. بطاقة الخاصية القيمة الابتدائية 1 تُطبَّق على جميع العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. من الشائع استخدام الخاصية المختصرة animation لضبط جميع خاصيات الحركات بآنٍ واحد. /* قيمة واحدة */ animation-iteration-count: infinite; animation-iteration-count: 3; animation-iteration-count: 2.3; /* عدِّة ...

التحكم بالتدفق (Control Flow) في Kotlin

كما في أيّة لغة برمجة فإن لغة Kotlin تحتوي على تعابير للتحكم بالتدفق، وهي: تعبير if، وتعبير when، وحلقة for، وحلقة while. وتدعم كذلك الكلمتين المفتاحيّتَين continue و break المستخدَمتَين في الحلقات (راجع أوامر الرجوع والقفز returns and jump). تعبير if يُعدُّ الشرط if في لغة Kotlin تعبيرًا يعيد قيمة، وبالتالي لا حاجة للصيغة condition ? then : else لأن تعبير if يقوم بهذا الدور كما في الشيفرة الآتية: // الاستخدام الاعتيادي var max = a if (a < b) max = b // ...

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

تضيف الدالة plusElement()‎ العنصر المُمرّر إليها إلى المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة إن استدعيت الدالة plusElement()‎ مع المصفوفات، فستعيد مصفوفة تضم جميع عناصر المصفوفة التي استدعيت معها إضافةً إلى العنصر المُمرّر إليها: inline fun <T> Array<T>.plusElement(element: T): Array<T> وإن استدعيت مع المجموعات، فستعيد قائمة تضم جميع عناصر المجموعة التي استدعيت معها إضافةً إليها العنصر المُمرّر إليها: inline fun <T> Iterable<T>.plusElement(element: T): List<T> inline fun <T> Collection<T>.plusElement(element: T): List<T> أمَّا إن استدعيت مع مجموعة من النوع Set، فستعيد مجموعة من ...

الوحدة collections.abc‎ في بايثون

تقدّم هذه الوحدة مجموعة من الأصناف الأساسية المجرّدة abstract base calsses (يرمز لها ABC اختصارًا) والتي يمكن استخدامها للتأكد ممّا إذا كان صنف معيّن يقدّم واجهة interface معينة، كأن يكون الصنف قابلًا للتقطيع hashable أو أنّه صنف ربط mapping. ملاحظة: قبل الإصدار 3.3 من اللغة كانت هذه الوحدة جزءًا من وحدة collections. الأصناف الأساسية المجرّدة في الوحدة collections تقدّم وحدة collections الأصناف الأساسية المجرّدة التالية: الصنف الأساسي المجرد يرث من التوابع المجرّدة توابع mixin Container   __contains__   Hashable   ...

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

تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). البنية العامة توفّر لغة Kotlin الخاصيّة indices للمصفوفات من الأنواع المختلفة كما يلي: val <T> Array<out T>.indices: IntRange val ByteArray.indices: IntRange val ShortArray.indices: IntRange val IntArray.indices: IntRange val LongArray.indices: IntRange val FloatArray.indices: IntRange val DoubleArray.indices: IntRange val BooleanArray.indices: IntRange val CharArray.indices: IntRange وكذلك للمجموعة (collection) val Collection<*>.indices: IntRange القيم المعادة الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). أمثلة استخدام الخاصية indices‎ مع المصفوفات: fun main(args: Array<String>) { val array = arrayOf(4,5,7,9) ...

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

تعيد الدالة associate()‎ خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر المصفوفة أو المجموعة (Collection) إلى الدالة المررة إليها. إن كان لزوجين نفس المفتاح (key) فالأخير هو الذي سيُضاف إلى الخريطة. تحافظ الخريطة المُعادة على نفس ترتيب التكرار الخاص بالمصفوفة أو المجموعة الأصليَّة. البنية العامة تعيد الدالة associate()‎ خريطةً (map) تحوي أزواجًا من "مفتاح/قيمة" ناتجة عن تمرير عناصر مصفوفةٍ إلى الدالة ()transform. inline fun <T, K, V> Array<out T>.associate( transform: (T) -> Pair<K, V> ): Map<K, ...

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

تُنفّد الدالةُ forEachIndexed()‎ الدالةَ المُمرّرةَ إليها على كل عنصر من عناصر المصفوفة، أو المجموعة، أو الخريطة، التي استُدعيت معها وعلى فهرس ذلك العنصر.  البنية العامة inline fun <T> Array<out T>.forEachIndexed( action: (index: Int, T) -> Unit) inline fun ByteArray.forEachIndexed( action: (index: Int, Byte) -> Unit) inline fun ShortArray.forEachIndexed( action: (index: Int, Short) -> Unit) inline fun IntArray.forEachIndexed( action: (index: Int, Int) -> Unit) inline fun LongArray.forEachIndexed( ...

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

يختلف سلوك الدالة any()‎ بحسب طريقة استدعائها، وسنناقش هذه الحالات تباعًا. حالات استدعاء الدالة any()‎ في حال استدعاء الدالة any()‎ مع مصفوفة (array) أو مجموعة (collection) دون تمرير أيّ معامل (parameter) لها، فستعيد القيمة true إن كانت المصفوفة أو المجموعة تحتوي على عنصر ٍ واحدٍ على الأقل (أي أنها غير فارغة)، وتعيد القيمة false بخلاف ذلك. في حال تمرير دالةٍ ما كوسيطٍ (parameter) في الدالة any()‎ فستعيد القيمة true إن كان هناك واحدٌ على الأقل من عناصر المصفوفة أو المجموعة ...

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

تعيد الدالة associateBy()‎ خريطةً (map) مكونة من الأزواج "مفتاح/قيمة"، إذ يكون المفتاح (key) هو الناتج الذي تعيده الدالة keySelector الممررة إليها وتكون القيمة (value) المقابلة لذلك المفتاح هي إمَّا عناصر المصفوفة أو المجموعة المعطاة أو الناتج الذي تعيده الدالة valueTransform الممررة.  إن كان لعنصرين نفس المفتاح (key) بعد تطبيق الدالة keySelector، فإنَّ الأخير هو الذي سيُضاف إلى الخريطة. تحافظ الخريطة المُعادة على نفس ترتيب التكرار الخاص بالمصفوفة أو المجموعة الأصليَّة. البنية العامة إن استدعيت الدالة associateBy()‎مع مصفوفة، فستعيد خريطةً (map) ...

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

تتحقق الدالة all()‎ إن كانت كافّة عناصر المصفوفة أو المجموعة (collection) التي استُدعيت عبرها تطابق شرطًا منطقيًّا محدَّدًا. البنية العامة يمكن استدعاء الدالة all()‎ للمصفوفات من الأنواع المختلفة كما يلي: inline fun <T> Array<out T>.all(predicate: (T) -> Boolean): Boolean inline fun ByteArray.all(predicate: (Byte) -> Boolean): Boolean inline fun ShortArray.all(predicate: (Short) -> Boolean): Boolean inline fun IntArray.all(predicate: (Int) -> Boolean): Boolean inline fun LongArray.all(predicate: (Long) -> Boolean): Boolean inline fun FloatArray.all(predicate: (Float) -> Boolean): Boolean inline fun DoubleArray.all(predicate: (Double) -> Boolean): Boolean ...

المجموعات (Collections): القائمة (List) والمجموعة (Set) و الخارطة (Map) في لغة Kotlin

تُميِّز لغة Kotlin (على خلاف العديد من لغات البرمجة) بين المجموعة المتغيّرة (mutable) والثابتة (immutable)، وتساهم قدرتُها على التحكُّم الدقيق في الحالات التي يُسمَح فيها بتعديل المجموعات في التقليل من الأخطاء البرمجية (bugs) وتحقيق تصميمٍ أفضل لواجهات API. ومن المهمِّ معرفة الفوارق ما بين العرض (view) الثابت للقراءة فقط (read-only) للمجموعة المتغيّرة والمجموعة الثابتة الفعليّة، إذ من السهل إنشاء كلِّ منهما ولكن نظام الأنواع في Kotlin لا يوضّح الفرق بينهما، ويقع ذلك على عاتق المتعلِّم. يُعدُّ النوع List<out T>‎ في ...

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

تقطع الدالة sliceArray()‎ جزءًا محدَّدًا من المصفوفة التي استُدعيت معها ثمَّ تعيده في مصفوفة أو قائمة بحسب الوسيط الممرر إليها.  البنية العامة إن مرِّر كائن من النوع Collection إلى الدالة sliceArray()‎، فستُعاد مصفوفة تحوي عناصر المصفوفة التي استُدعيت معها والموجودة في الموقع الذي يحدده الوسيط indices: fun <T> Array<T>.sliceArray( indices: Collection<Int> ): Array<T> fun ByteArray.sliceArray(indices: Collection<Int>): ByteArray fun ShortArray.sliceArray( indices: Collection<Int> ): ShortArray fun IntArray.sliceArray(indices: Collection<Int>): IntArray fun LongArray.sliceArray(indices: Collection<Int>): LongArray fun FloatArray.sliceArray( indices: Collection<Int> ): FloatArray ...

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

تتحقَّق الدالة none()‎ إن كانت المصفوفة أو المجموعة أو الخريطة التي استدعيت معها فارغةً، أو إن لم يكن هنالك أي عنصر من تلك العناصر محقِّقًا لشرط معين. البنية العامة يمكن استدعاء الدالة none()‎ مع المصفوفات والمجموعات والخرائط دون تمرير أية معامل إليها: fun <T> Array<out T>.none(): Boolean fun ByteArray.none(): Boolean fun ShortArray.none(): Boolean fun IntArray.none(): Boolean fun LongArray.none(): Boolean fun FloatArray.none(): Boolean fun DoubleArray.none(): Boolean fun BooleanArray.none(): Boolean fun CharArray.none(): Boolean fun <T> Iterable<T>.none(): Boolean (source) fun <K, V> Map<out K, V>.none(): ...

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

تجمع الدالة sumBy()‎ جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. الفرق بين الدالة sumBy()‎ والدالة sumByDouble()‎ هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()‎ عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممرَّرة إلى sumByDouble()‎ عددًا عشريًّا مضاعفًا (double).  البنية العامة يمكن استدعاء الدالة sumBy()‎ مع المصفوفات والمجموعات: inline fun <T> Array<out T>.sumBy(selector: (T) -> Int): Int inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int inline ...

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

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

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

تجمع الدالة sumByDouble()‎ جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. الفرق بين الدالة sumByDouble()‎ والدالة sumBy()‎ هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()‎ عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممررة إلى sumByDouble()‎ عددًا عشريًّا مضاعفًا (double). البنية العامة يمكن استدعاء الدالة sumByDouble()‎ مع المصفوفات والمجموعات: inline fun <T> Array<out T>.sumByDouble( selector: (T) -> Double ): Double inline fun ByteArray.sumByDouble( ...

التابع deque.extend()‎ في بايثون

يمدّد الجانب الأيمن من كائن deque بإضافة العناصر المعطاة. البنية العامة d.extend(iterable) المعاملات iterable كائن مكرِّر تضاف عناصره إلى كائن deque. القيمة المعادة يعيد التابع كائن deque جديد يمثّل نسخة سطحية عن كائن dequeالأصلي. أمثلة يبين المثال التالي آلية عمل التابع. >>> from collections import deque >>> d = deque('ghi') >>> d.extend('jkl') >>> d deque(['g', 'h', 'i', 'j', 'k', 'l']) انظر أيضًا التابع extendleft()‎:  :يمدّد الجانب الأيسر من كائن deque بإضافة العناصر المعطاة. التابع append()‎:  :يضيف التابع العنصر المعطى إلى الجانب الأيمن من كائن ...

التابع deque.extendleft()‎ في بايثون

يمدّد الجانب الأيسر من كائن deque بإضافة العناصر المعطاة. البنية العامة d.extendleft(iterable) المعاملات iterable كائن مكرِّر تضاف عناصره إلى كائن deque. القيمة المعادة يعيد التابع كائن deque جديد يمثّل نسخة سطحية عن كائن dequeالأصلي. أمثلة يبين المثال التالي آلية عمل التابع. >>> from collections import deque >>> d = deque('ghi') >>> d.extendleft('def') >>> d deque(['f', 'e', 'd', 'g', 'h', 'i']) انظر أيضًا التابع extend()‎:  :يمدّد الجانب الأيمن من كائن deque بإضافة العناصر المعطاة. التابع append()‎:  :يضيف التابع العنصر المعطى إلى الجانب الأيمن من كائن ...

التابع ‎iterator?‎‎ الخاص بالصنف Kernel في روبي

يتحقق التابع iterator?‎ إذا كان yield سينفذ كتلة برمجية في السياق الراهن. لقد أصبح الشكل ‎iterator?‎ مهملًا إلى حد ما. البنية العامة iterator?→ true or false‎ القيمة المعادة تعاد القيمة true إذا كان yield سينفذ كتلة برمجية في السياق الراهن. وإلا فستعاد false. أمثلة مثال على استخدام التابع iterator?‎: def try if block_given? yield else "no block" end end try ...

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

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

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

تتحقق الدالة contains()‎ إن كانت المصفوفة أو المجموعة التي استُدعيت معها تحتوي على العنصر الممرّر إليها، أو إن كانت الخريطة التي استدعيت معها تحتوي على ذلك العنصر كمفتاح (key). يمكن استدعاء contains()‎ مع خريطة بالشكل x in map للتحقق من أنّ العنصر x موجود ضمنها. البنية العامة يمكن استدعاء الدالة contains()‎ مع مصفوفات: operator fun <T> Array<out T>.contains(element: T): Boolean operator fun ByteArray.contains(element: Byte): Boolean operator fun ShortArray.contains(element: Short): Boolean operator fun IntArray.contains(element: Int): Boolean operator fun LongArray.contains(element: Long): Boolean ...

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

تحول الدالة toMutableList()‎ المصفوف أو المجموعة التي استُدعيت معها إلى قائمة متغيرة. البنية العامة يمكن استدعاء الدالة toMutableList()‎ مع المصفوفات: fun <T> Array<out T>.toMutableList(): MutableList<T> fun ByteArray.toMutableList(): MutableList<Byte> fun ShortArray.toMutableList(): MutableList<Short> fun IntArray.toMutableList(): MutableList<Int> fun LongArray.toMutableList(): MutableList<Long> fun FloatArray.toMutableList(): MutableList<Float> fun DoubleArray.toMutableList(): MutableList<Double> fun BooleanArray.toMutableList(): MutableList<Boolean> fun CharArray.toMutableList(): MutableList<Char> ومع المجموعات أيضًا: fun <T> Iterable<T>.toMutableList(): MutableList<T> fun <T> Collection<T>.toMutableList(): MutableList<T> القيمة المعادة تُعاد قائمة متغيرة تحوي جميع عناصر المصفوفة أو المجموعة المعطاة. أمثلة استعمال الدالة ()toMutableList لتحويل مصفوفة إلى قائمة متغيرة: fun main(args: ...

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

تشبه الدالة associateTo()‎ الدالة associate()‎ تمامًا باستثناء أنها تضيف الناتج الذي تعيده إلى خريطة موجودة مسبقًا.   البنية العامة inline fun <T, K, V, M : MutableMap<in K, in V>> Array<out T>.associateTo( destination: M, transform: (T) -> Pair<K, V> ): M inline fun <K, V, M : MutableMap<in K, in V>> ByteArray.associateTo( destination: M, transform: (Byte) -> Pair<K, V> ): M inline fun <K, V, M : MutableMap<in K, in ...

المقارنة بين لغتيّ البرمجة 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 الاستثناءات ...

الأنواع المُعمَّمة (Generics) في لغة Kotlin

معاملات الأنواع (Type Parameters) قد تحتوي الأصناف (classes) -كما هو الحال في لغة Java- على معاملات للأنواع (type parameters) مثل: class Box<T>(t: T) { var value = t } ولإنشاء كائنٍ (instance) من هذا الصنف يجب تحديد النوع كما في الشيفرة الآتية: val box: Box<Int> = Box<Int>(1) أمّا إن كان بالإمكان معرفة (infer) المعاملات إمّا من خلال معاملات الباني (constructor arguments) أو بأيّ وسيلةٍ أخرى فيمكن حينئذٍ حذف نوع المعاملات، مثل: val box = Box(1) // القيمة 1 لها ...

التابع Counter.update()‎ في بايثون

هذا التابع مشابه للتابع dict.update()‎ ولكنّه يضيف التعدادات بدلًا من استبدالها. البنية العامة c.update([iterable-or-mapping]) المعاملات iterable أو mapping الكائن المكرِّر أو كائن mapping آخر (أو عداد آخر) الذي ستُضاف منه العناصر. n إن لم يأخذ هذا المعامل أي قيمة أو أخذ القيمة None، فإنّ التابع يعيد جميع العناصر في العداد. وجدير بالذكر أنّه لا يوجد ترتيب معيّن للعناصر التي تمتلك تعدادًا متساويًا. القيمة المعادة عند استخدام هذا التابع يجري حساب العناصر من كائن مكرِّر أو تضاف من كائن ربط آخر ...

الخاصية MatchResult.destructured‎ في Kotlin

تمثل الخاصية MatchResult.destructured‎ نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. البنية العامة open val destructured: Destructured القيمة المعادة تعاد نسخةٌ من الصنف Destructured. أمثلة ينشِئ التابع Regex()‎ في الشيفرة التالية تعبيرًا نمطيًا باسم regex لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم fullPath تحتوي مسار أحد الملفات، ثم نستخرج من fullPath مجموعات النتائج عبر استدعاء الدالة ...

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

تنشئ الدالة asIterable()‎ نسخةً من الواجهة Iterable التي تغلّف سلسلة المحارف التي استُدعيت معها لاستعمالها في الحلقات التكرارية، إذ تعيد محارفها عندما تُستخدَم في حلقات التكرار (مثل for). البنية العامة fun CharSequence.asIterable(): Iterable<Char> القيم المعادة تعاد نسخة من الواجهة Iterable التي تغلّف سلسلة المحارف المعطاة لاستعمالها في الحلقات التكرارية. أمثلة تعرّف الشيفرة التالية سلسلة نصية باسم str ثم تستدعي الدالة asIterable()‎ معها وتحيل القيمة المُعادة إلى المتغير iter لطباعة كل محرف من محارف تلك السلسلة باستخدام الحلقة التكرارية for: fun main(args: Array<String>) ...

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

تنشئ الدالة iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة محارف السلسلة المستدعاة معه. البنية العامة operator fun CharSequence.iterator(): CharIterator وجود الكلمة المفتاحية operator يدل على أنّ هذه الدالة مرتبطٌة بمعامل التكرار (iteration operator، اطلع على المثال في الأسفل). القيم المعادة يعاد عنصرٌ تكراريٌّ (iterator) من أجل تكرار بنيةٍ (block) برمجيةٍ معينة على كافّة عناصر المصفوفة المعطاة. أمثلة مثالٌ على استعمال الدالة iterator()‎: fun main(args: Array<String>) { val str = "Hsoub" val ...

الدالة ‎‎Array.iterator()‎ في Kotlin

تعيد الدالة Array.iterator()‎ عنصرًا تكراريًّا (iterator) بهدف تكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة. البنية العامة operator fun iterator(): Iterator<T> ويُلاحظ وجود الكلمة المفتاحية operator للدلالة على أنّ هذه الدالة مرتبطٌ بمعامل التكرار (iteration operator) المستخدم في شيفرة المثال اللاحق. القيم المعادة يعاد عنصرٌ تكراريٌّ (iterator) بهدف تكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة. أمثلة تنشِئ الشيفرة الآتية مصفوفةً من ستة أعدادٍ صحيحةٍ بالاعتماد على الدالة arrayOf ثم تخصِّص لهذه المصفوفة عنصرًا تكراريًا (iterator) باستخدام الدالة iterator()‎ لاستخدامه في ...

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

تعيد الدالة withIndex()‎ مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل محرف من محارف السلسلة التي استُدعيت معها. البنية العامة fun CharSequence.withIndex(): Iterable<IndexedValue<Char>> القيم المعادة تعاد مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل محرف من محارف السلسلة المعطاة. أمثلة مثالٌ على استعمال الدالة ()withIndex مع سلسلة نصية ثم إسناد الناتج الذي تعيده إلى المتغير iter، لاستخدامه في حلقة تكرارية for: fun main(args: Array<String>) { val iter = "hsoub".withIndex() for (x in iter) println(x) // المخرجات ...

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

تشبه الدالة associateByTo()‎ الدالة associateBy()‎ تمامًا باستثناء أنها تضيف الناتج الذي تعيده إلى خريطة موجودة مسبقًا.  البنية العامة inline fun <T, K, M : MutableMap<in K, in T>> Array<out T>.associateByTo( destination: M, keySelector: (T) -> K ): M inline fun <K, M : MutableMap<in K, in Byte>> ByteArray.associateByTo( destination: M, keySelector: (Byte) -> K ): M inline fun <K, M : MutableMap<in K, in Short>> ShortArray.associateByTo( ...

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

ينشئ التابع iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. البنية العامة operator fun iterator(): BooleanIterator وجود الكلمة المفتاحية operator يدل على أنّ هذا التابع مرتبطٌ بمعامل التكرار (iteration operator، اطلع على المثال في الأسفل). القيم المعادة يعاد عنصرٌ تكراريٌّ (iterator) من أجل تكرار بنيةٍ (block) برمجيةٍ معينة على كافّة عناصر المصفوفة المعطاة. أمثلة استعمال التابع iterator()‎ لتخصيص عنصر تكراري من أجل استخدامه في الحلقة for التكرارية التي تطبع جميع العناصر: fun main(args: Array<String>) { ...

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

تُستخدَم هذه الخاصيّة للحصول على الفهرس (index) الأخير للمصفوفة أو القائمة (list)، أو القيمة ‎-1 إن كانت المصفوفة أو القائمة فارغةً. البنية العامة توفّر لغة Kotlin الخاصيّة lastIndex للمصفوفات من الأنواع المختلفة كما يلي: val <T> Array<out T>.lastIndex: IntRange val ByteArray.lastIndex: IntRange val ShortArray.lastIndex: IntRange val IntArray.lastIndex: IntRange val LongArray.lastIndex: IntRange val FloatArray.lastIndex: IntRange val DoubleArray.lastIndex: IntRange val BooleanArray.lastIndex: IntRange val CharArray.lastIndex: IntRange وكذلك للقائمة (list): val <T> List<T>.lastIndex: Int القيم المعادة يعاد الفهرس الأخير للمصفوفة أو القائمة، أو القيمة ‎-1 إن كانت المصفوفة أو القائمة فارغة. أمثلة استخدام ...

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

تعيد الدالة withIndex()‎ مجموعة تكرارية خاملة (lazy Iterable) من القيم المُفهرسة لكل عنصر من عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها، أو تعيد مُكرّرًا (iterator) يغلّف كل عنصر أنتجه المكرّر (Iterator) المستدعى مع الدالة مع القيمة المُفهرسة أي يعيد القيمة مع فهرسها. البنية العامة يمكن استدعاء الدالة withIndex()‎ مع المصفوفات أو المجموعات التكرارية أو المكرِّرات: fun <T> Array<out T>.withIndex(): Iterable<IndexedValue<T>> fun ByteArray.withIndex(): Iterable<IndexedValue<Byte>> fun ShortArray.withIndex(): Iterable<IndexedValue<Short>> fun IntArray.withIndex(): Iterable<IndexedValue<Int>> fun LongArray.withIndex(): Iterable<IndexedValue<Long>> fun FloatArray.withIndex(): Iterable<IndexedValue<Float>> fun DoubleArray.withIndex(): Iterable<IndexedValue<Double>> fun BooleanArray.withIndex(): Iterable<IndexedValue<Boolean>> fun ...

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

تجلب الدالة min()‎ أصغر عنصر في المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة fun Array<out Double>.min(): Double? fun Array<out Float>.min(): Float? fun FloatArray.min(): Float? fun DoubleArray.min(): Double? fun Iterable<Double>.min(): Double? fun Iterable<Float>.min(): Float? fun <T : Comparable<T>> Array<out T>.min(): T? fun ByteArray.min(): Byte? fun ShortArray.min(): Short? fun IntArray.min(): Int? fun LongArray.min(): Long? fun CharArray.min(): Char? fun <T : Comparable<T>> Iterable<T>.min(): T? الإصدار المطلوب: Kotlin 1.1. القيم المعادة يُعاد أصغر عنصر في المصفوفة أو المجموعة المعطاة، أو القيمة null إن كانت تلك المصفوفة أو ...

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

تجلب الدالة max()‎ أكبر عنصر في المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة fun Array<out Double>.max(): Double? fun Array<out Float>.max(): Float? fun FloatArray.max(): Float? fun DoubleArray.max(): Double? fun Iterable<Double>.max(): Double? fun Iterable<Float>.max(): Float? fun <T : Comparable<T>> Array<out T>.max(): T? fun ByteArray.max(): Byte? fun ShortArray.max(): Short? fun IntArray.max(): Int? fun LongArray.max(): Long? fun CharArray.max(): Char? fun <T : Comparable<T>> Iterable<T>.max(): T? الإصدار المطلوب: Kotlin 1.1. القيم المعادة يُعاد أكبر عنصر في المصفوفة أو المجموعة المعطاة، أو القيمة null إن كانت تلك المصفوفة أو ...

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

تعيد الدالة orEmpty()‎ المصفوفة أو المجموعة أو القائمة أو الخريطة التي استُدعيت معها إن لم تكن مساويةً للقيمة null، أو تعيد كائنًا فارغًا يقابل الكائن المعطى (مصفوفة فارغة، أو مجموعة فارغة ...إلخ.) خلاف ذلك. البنية العامة يمكن استدعاء الدالة orEmpty()‎ مع المصفوفات والمجموعات والقوائم والخرائط والمجموعات التي من النوع Set: inline fun <reified T> Array<out T>?.orEmpty(): Array<out T> inline fun <T> Collection<T>?.orEmpty(): Collection<T> inline fun <T> List<T>?.orEmpty(): List<T> inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> (source) inline fun <K, V> Map<K, V>?.orEmpty(): Map<K, V> ...

الخاصية ‎‎Array.size في Kotlin

تمثل الخاصيّة size‎ عدد العناصر الموجودة في المصفوفة (array). البنية العامة val size: Int القيم المعادة يعاد عددٌ صحيحٌ يساوي عدد العناصر في المصفوفة المُحدَّدة. أمثلة استخدام الخاصية size مع مصفوفة أعداد صحيحة (integers): fun main(args: Array<String>) {    val arrayOfInt = arrayOf(1, 2, 3, 4, 5)    println(arrayOfInt.size)   // 5 } استخدام الخاصية size مع مصفوفة سلاسل نصية (strings): fun main(args: Array<String>) {    val arrayOfStr = arrayOf("programming","kotlin")    println(arrayOfStr.size)   // 2 } استخدام الخاصية size مع مصفوفة فارغة (empty): fun main(args: Array<String>) {    val emptyArray: Array<Int> = arrayOf()    println(emptyArray.size)  // 0 } انظر ...

الدالة DoubleArray.iterator()‎ في Kotlin

تنشئ الدالة iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. البنية العامة operator fun iterator(): DoubleIterator وجود الكلمة المفتاحية operator يدل على أنّ هذه الدالة مرتبطٌ بمعامل تكرار (iteration operator، اطلع على المثال في الأسفل). القيم المعادة يعاد عنصرٌ تكراريٌٌ (iterator) من أجل تكرار بنيةٍ (block) برمجيةٍ معينة على كافّة عناصر المصفوفة المعطاة. أمثلة استعمال الدالة iterator()‎ لتخصيص عنصر تكراري من أجل استخدامه في الحلقة for التكرارية التي تطبع قيم جميع العناصر: fun main(args: Array<String>) { val f: (Int) -> ...

الدالة FloatArray.iterator()‎ في Kotlin

ينشئ الدالة iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. البنية العامة operator fun iterator(): FloatIterator وجود الكلمة المفتاحية operator يدل على أنّ هذه الدالة مرتبطٌ بمعامل تكرار (iteration operator، اطلع على المثال في الأسفل). القيم المعادة يعاد عنصرٌ تكراريٌٌ (iterator) من أجل تكرار بنيةٍ (block) برمجيةٍ معينة على كافّة عناصر المصفوفة المعطاة. أمثلة استعمال الدالة iterator()‎ لتخصيص عنصر تكراري من أجل استخدامه في الحلقة for التكرارية التي تطبع قيم جميع العناصر: fun main(args: Array<String>) { val f: (Int) -> ...

التابع ByteArray.iterator()‎ في Kotlin

ينشئ التابع iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. البنية العامة operator fun iterator(): ByteIterator وجود الكلمة المفتاحية operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator، اطلع على المثال في الأسفل). القيم المعادة يعاد عنصرٌ تكراريٌٌ (iterator) من أجل تكرار بنيةٍ (block) برمجيةٍ معينة على كافّة عناصر المصفوفة المعطاة. أمثلة استعمال التابع iterator()‎ لتخصيص عنصر تكراري من أجل استخدامه في الحلقة for التكرارية التي تطبع جميع العناصر: import java.util.Arrays fun main(args: Array<String>) { val f: (Int) -> ...

الدالة CharArray.iterator()‎ في Kotlin

تنشئ الدالة iterator()‎ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. البنية العامة operator fun iterator(): CharIterator وجود الكلمة المفتاحية operator يدل على أنّ هذه الدالة مرتبطٌة بمعامل تكرار (iteration operator، اطلع على المثال في الأسفل). القيم المعادة يعاد عنصرٌ تكراريٌٌ (iterator) من أجل تكرار بنيةٍ (block) برمجيةٍ معينة على كافّة عناصر المصفوفة المعطاة. أمثلة استعمال الدالة iterator()‎ لتخصيص عنصر تكراري من أجل استخدامه في الحلقة for التكرارية التي تطبع قيم جميع العناصر: fun main(args: Array<String>) { val f: (Int) -> ...

الوحدة ObjectSpace في روبي

تحتوي الوحدة ObjectSpace على مجموعةٍ من البرامج الفرعيَّة (routines) التي تتفاعل مع وسائل جمع المهملات وتسمح لك باجتياز جميع الكائنات النشطة مع مُكرَّر (iterator). تقدِّم الوحدة ObjectSpace الدَّعم أيضًا لمُنهِيَات كائنٍ (object finalizers) وكتل procs التي تُستدعى عندما يكون كائنٌ محدَّدٌ على وشك أن يُدمَّر عبر مجمِّع المهملات. require 'objspace' a = "A" b = "B" ObjectSpace.define_finalizer(a, proc {|id| puts "Finalizer one on #{id}" }) ObjectSpace.define_finalizer(b, proc {|id| puts "Finalizer two on #{id}" }) ينتج عن تطبيق المثال السابق: Finalizer two on 537763470 Finalizer one on ...

الكلمات المفتاحية (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 ...

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

يعد الصنف Any الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. open class Any الدوال البانية <int> يعيد التابع Any()‎ نسخةً من الصنف Any الذي هو الجذر الرئيسيّ في الهرميّة العامّة لأيّ صنفٍ مُستخدَمٍ أثناء البرمجة في Kotlin؛ أي أنّ كلَّ صنفٍ سيكون له الصنف الأعلى (superclass)‏ Any. الدوال equals تتحقق الدالة equals()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معها. hashCode تعيد الدالة hashCode()‎ قيمة الشيفرة hash code الخاصّة بالكائن الذي ...

التسمية البديلة للأنواع (Type aliases) في لغة Kotlin

تدعم لغة Kotlin ميّزة التسمية البديلة للأنواع الموجودة للبيانات، وخاصّة إن كان اسم النوع طويلًا فيُستعاض عنه باسمٍ أقصرٍ ويُستخدَم الاسم الجديد في كتابة الشيفرات؛ فمن المفيد مثلًا تسمية الأنواع المُعمّمة (generics) بأسماء أقصرٍ، مثل الشيفرة الآتية المُستخدَمة لتسمية أنواع المجموعات (collections): typealias NodeSet = Set<Network.Node> typealias FileTable<K> = MutableMap<K, MutableList<File>> وبالإمكان أيضًا تسمية الأنواع المختلفة للدوال، مثل: typealias MyHandler = (Int, String, Any) -> Unit typealias Predicate<T> = (T) -> Boolean وكذلك الأمر بالنسبة للأصناف الداخليّة (inner classes) والمتداخلة (nested classes)، مثل: class ...

الخاصية MatchResult.groups في Kotlin

تمثل الخاصية MatchResult.groups مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. حجم تلك المجموعة يساوي groupCount + 1، إذ يكون groupCount عددَ المجموعات (groups) المتطابقة في التعبير النمطي. تلك المجموعات مُفهرسةٌ بدءًا من العدد 1 وحتى groupCount، والمجموعة ذات الفهرس 0 توافق كل ما تطابق. البنية العامة abstract val groups: MatchGroupCollection القيمة المعادة يعاد كائن من النوع MatchGroupCollection يمثل مجموعة (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. أمثلة في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex ...

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

تتحقَّق الدالة isArrayOf()‎ من حواية المصفوفة التي استُدعيت معها عناصرَ من نوعٍ محدَّد. البنية العامة fun <reified T : Any> Array<*>.isArrayOf(): Boolean يدل استخدام الكلمة المفتاحية reified على إمكانية الوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (راجع توثيق reified للمزيد من التفاصيل). القيم المعادة تُعاد القيمة المنطقية true إن كانت المصفوفة المعطاة تحوي النوع المعطى أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة  ()isArrayOf: fun main(args: Array<String>) { var numbers = Array(6) { i -> i } println(numbers.isArrayOf<Int>()) // ...

الواجهة ‎‎MatchGroupCollection‎ في Kotlin

تمثل الواجهة MatchGroupCollection مجموعةً (collection) من الفئات المرصودة (captured groups) عند إجراء مطابقة واحدة لتعبير نمطي ما. حجم المجموعة يساوي groupCount + 1، إذ يمثل groupCount عدد الفئات (groups) في التعبير النمطي. الفئات مُفهرسة بدءًا من 1 وحتى groupCount، والفئة ذات الفهرس 0 تقابل كل ما تطابق. يمكن أن يساوي بعض عناصر المجموعة القيمة العدمية (null) في حال كانت الفئة المقابلة في التعبير النمطي اختيارية، ولم يُرصَد أي تطابق من قبل تلك الفئة. interface MatchGroupCollection : Collection<MatchGroup?> الدوال get تعيد هذه ...

الواجهة ‎‎MatchGroupCollection‎ في Kotlin

تمثل الواجهة MatchGroupCollection مجموعةً (collection) من الفئات المرصودة (captured groups) عند إجراء مطابقة واحدة لتعبير نمطي ما. حجم المجموعة يساوي groupCount + 1، إذ يمثل groupCount عدد الفئات (groups) في التعبير النمطي. الفئات مُفهرسة بدءًا من 1 وحتى groupCount، والفئة ذات الفهرس 0 تقابل كل ما تطابق. يمكن أن يساوي بعض عناصر المجموعة القيمة العدمية (null) في حال كانت الفئة المقابلة في التعبير النمطي اختيارية، ولم يُرصَد أي تطابق من قبل تلك الفئة. interface MatchGroupCollection : Collection<MatchGroup?> الدوال get تعيد هذه ...

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

تجمع الدالة union()‎ العناصر المشتركة وغير المتشركة بين المصفوفة أو المجموعة التكرارية التي استُدعيت معها وبين المجموعة التكرارية المُمرّرة إليها في مجموعةٍ واحدةٍ من النوع Set بعد حذف العناصر المتكررة. تحافظ المجموعة المُعادة على نفس ترتيب تكرار المصفوفة أو المجموعة التكرارية الأصلية. تضاف عناصر المجموعة التكرارية الممرَّرة إلى الدالة وغير المتكررة في النهاية. البنية العامة يمكن استدعاء الدالةunion()‎ مع المصفوفات والمجموعات التكرارية: infix fun <T> Array<out T>.union(other: Iterable<T>): Set<T> infix fun ByteArray.union(other: Iterable<Byte>): Set<Byte> infix fun ShortArray.union( ...

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

تبحث الدالة intersect()‎ عن العناصر المشتركة بين مصفوفتين أو مجموعتين ثمَّ تعيدها في مجموعة. تحافظ المجموعة المُعادة على ترتيب تكرار المصفوفة أو المجموعة الأصلية. البنية العامة يمكن استدعاء الدالة intersect()‎ مع المصفوفات والمجموعات: infix fun <T> Array<out T>.intersect( other: Iterable<T> ): Set<T> infix fun ByteArray.intersect( other: Iterable<Byte> ): Set<Byte> infix fun ShortArray.intersect( other: Iterable<Short> ): Set<Short> infix fun IntArray.intersect(other: Iterable<Int>): Set<Int> (source) infix fun LongArray.intersect( other: Iterable<Long> ): Set<Long> infix fun FloatArray.intersect( ...

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

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

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

تعيد الدالة get()‎ نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. إن لم يكن جلب المجموعات المتطابقة المُسماة (named groups) مدعومًا، فسيُطلَق الاستثناء UnsupportedOperationException. البنية العامة operator fun MatchGroupCollection.get( name: String ): MatchGroup? الإصدار ومنصة التشغيل المطلوبان: JRE8 ،JVM ،Kotlin 1.2 وجود الكلمة المفتاحيّة operator يدل على أنّ هذا التابع مرتبطٌ بمعامل تكرار (iteration operator). القيم المعادة تعاد نسخة من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم name متطابقَةأو تعاد القيمة null خلاف ...

الواجهة ‎‎MatchNamedGroupCollection‎ في Kotlin

توسع هذه الواجهة الصنف MatchGroupCollection عبر تعريف طريقةٍ لجلب المجموعات المتطابقة (matched groups) عن طريق أسمائها عندما يدعم Regex ذلك. interface MatchNamedGroupCollection : MatchGroupCollection الإصدار المطلوب: kotlin 1.1. الدوال (Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الدوال الموروثة (Inherited Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الخاصيات الإضافية (Extension Properties) indices تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). الدوال ...

الواجهة ‎‎MatchNamedGroupCollection‎ في Kotlin

توسع هذه الواجهة الصنف MatchGroupCollection عبر تعريف طريقةٍ لجلب المجموعات المتطابقة (matched groups) عن طريق أسمائها عندما يدعم Regex ذلك. interface MatchNamedGroupCollection : MatchGroupCollection الإصدار المطلوب: kotlin 1.1. الدوال (Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الدوال الموروثة (Inherited Functions) get تعيد هذه الدالة نسخةً من الصنف MatchGroup إن كانت المجموعة التي تحمل الاسم المُمرّر إليها متطابقَة. الخاصيات الإضافية (Extension Properties) indices تُستخدَم هذه الخاصيّة للحصول على الفهارس الصحيحة (valid indices) للمصفوفة أو المجموعة (collection). الدوال ...

التابع CharSequence.lines()‎ في Kotlin

تقسّم الدالة lines()‎ سلسلة المحارف التي استٌدعيت معها إلى قائمة وتضع في عناصرها الأسطر المفصولة بأيٍّ من سلاسل المحارف التالية: CRLF أو LF أو CR. البنية العامة fun CharSequence.lines(): List<String> القيم المعادة تعاد قائمة من سلاسل نصية تحوي الأسطر المفصولة بأيٍّ من سلاسل المحارف التالية: CRLF أو LF أو CR. أمثلة مثال على استعمال الدالة lines()‎: fun main(args: Array<String>) { val str = "Hsoub\nWiki\nAcademy" for (line in str.lines()) ...

الواجهة ‎‎MatchResult‎ في Kotlin

تمثل الواجهة MatchResult نتائج مطابقة واحدة لتعبير نمطي. interface MatchResult الأنواع Destructured يوفر هذا الصنف مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. الخاصيات destructured‎ تمثل هذه الخاصية نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. groupValues تمثل هذه الخاصية قائمة بقيم المجموعة المفهرسة المتطابقة. groups تمثل هذه الخاصية مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. range تمثل هذه الخاصية مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. value تمثل هذه الخاصية السلسلة النصية المُدخلة، أو ...

الواجهة ‎‎MatchResult‎ في Kotlin

تمثل الواجهة MatchResult نتائج مطابقة واحدة لتعبير نمطي. interface MatchResult الأنواع Destructured يوفر هذا الصنف مركبات الإسناد بالتفكيك (destructuring assignment) لمجموعة من القيم. الخاصيات destructured‎ تمثل هذه الخاصية نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. groupValues تمثل هذه الخاصية قائمة بقيم المجموعة المفهرسة المتطابقة. groups تمثل هذه الخاصية مجموعةً (collection) تضم جميع المجموعات (groups) المتطابقة باستعمال تعبير نمطي محدد. range تمثل هذه الخاصية مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. value تمثل هذه الخاصية السلسلة النصية المُدخلة، أو ...

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

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

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

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

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

تشبه الدالة flatMapTo()‎ الدالة flatMap()‎ تمامًا باستثناء أنها تضيف الناتج المعاد إلى كائن موجود مسبقًا بدلًا من إعادته فقط. البنية العامة يمكن استدعاء الدالة flatMapTo()‎ مع المصفوفات: inline fun <T, R, C : MutableCollection<in R>> Array<out T>.flatMapTo( destination: C, transform: (T) -> Iterable<R> ): C inline fun <R, C : MutableCollection<in R>> ByteArray.flatMapTo( destination: C, transform: (Byte) -> Iterable<R> ): C inline fun <R, C : MutableCollection<in R>> ShortArray.flatMapTo( ...

الخاصية ByteArray.size في Kotlin

تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة ذات النوع ByteArray. البنية العامة val size: Int القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع ByteArray: fun main(args: Array<String>) { val array = ByteArray(6) print(array.size) // 6 } انظر أيضًا الصنف ‎ByteArray. الدالة ByteArray()‎: تنشئ مصفوفة جديدة من النوع ByteArray (أي حجم كل عنصر منها بايتًا واحدًا) بحجم معين، إذ تحوي قيمًا محدَّدة أو القيم 0.  التابع ()get: يجلب عنصرًا ...

الخاصية DoubleArray.size في Kotlin

تمثِّل الخاصيّة DoubleArray.size عدد العناصر الموجودة في المصفوفة ذات النوع DoubleArray. البنية العامة val size: Int القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع DoubleArray: fun main(args: Array<String>) { val array = DoubleArray(6) print(array.size) // 6 } انظر أيضًا الصنف ‎DoubleArray. الدالة DoubleArray()‎: تنشئ مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0.  الدالة ()get: تجلب عنصرًا ذي فهرس محدد من المصفوفة. الدالة iterator()‎: تنشئ عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على ...

الخاصية FloatArray.size في Kotlin

تمثِّل الخاصيّة FloatArray.size عدد العناصر الموجودة في المصفوفة ذات النوع FloatArray. البنية العامة val size: Int القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع FloatArray: fun main(args: Array<String>) { val array = FloatArray(6) print(array.size) // 6 } انظر أيضًا الصنف ‎FloatArray. الدالة FloatArray()‎: تنشئ مصفوفة جديدة من النوع FloatArray (أي مصفوفة من الأعداد العشرية) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0.  الدالة ()get: تجلب عنصرًا ذي فهرس محدد من المصفوفة. الدالة iterator()‎: تنشئ عنصرًا ...

الخاصية CharArray.size في Kotlin

تمثِّل الخاصيّة CharArray.size عدد العناصر الموجودة في المصفوفة ذات النوع CharArray. البنية العامة val size: Int القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصيّة size لمعرفة عدد العناصر الموجود في مصفوفة من النوع CharArray: fun main(args: Array<String>) { val array = CharArray(6) print(array.size) // 6 } انظر أيضًا الصنف ‎CharArray. الدالة CharArray()‎: تنشئ مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '‎\u0000' التي تمثل حرفًا عدميًّا.   التابع ()get: يجلب عنصرًا ذي فهرس محدد من ...

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

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

Kotlin/Topics

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

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

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

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

تقتطع الدالة slice()‎ جزءًا محدَّدًا من سلسلة المحارف أو السلسلة النصية  التي استُدعيت معها ثمَّ تعيده. البنية العامة fun CharSequence.slice(indices: IntRange): CharSequence fun String.slice(indices: IntRange): String fun CharSequence.slice(indices: Iterable<Int>): CharSequence inline fun String.slice(indices: Iterable<Int>): String وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات indices مجال من النوع IntRange أو كائن من النوع Iterable يحدد الجزء المراد اقتطاعه من سلسلة المحارف أو السلسلة النصية المعطاة. القيم المعادة تعاد سلسلة من المحارف أو سلسلة نصية تحوي الجزء المقتطع من سلسلة المحارف ...

التابع CharSequence.lineSequence()‎ في Kotlin

تقسّم الدالة lineSequence()‎ سلسلة المحارف التي استٌدعيت معها إلى سلسلة وتضع في عناصرها الأسطر المفصولة بأيٍّ من سلاسل المحارف التالية: CRLF أو LF أو CR. البنية العامة fun CharSequence.lineSequence(): Sequence<String> القيم المعادة تعاد سلسلة من سلاسل نصية تحوي الأسطر المفصولة بأيٍّ من سلاسل المحارف التالية: CRLF أو LF أو CR. أمثلة مثالٌ على استعمال الدالة lineSequence()‎: fun main(args: Array<String>) { val str = "Hsoub\nWiki\nAcademy" for (line in str.lineSequence()) ...

الخاصية BooleanArray.size في Kotlin

تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. البنية العامة val size: Int القيم المعادة يعاد عددٌ صحيحٌ يمثِّل عدد العناصر في المصفوفة المعطاة. أمثلة استعمال الخاصية size مع مصفوفة منطقية يراد معرفة عدد عناصرها: fun main(args: Array<String>) { val array = BooleanArray(4) {it % 2 == 0} println(array.size) // 4 } استعمال الخاصية size لمعرفة إن كانت المصفوفة فارغة أم لا: fun main(args: Array<String>) { ...

التهيئة الأولية للصنف 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 دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد ...

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

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

الخاصية MatchResult.value في Kotlin

تمثل الخاصية MatchResult.value السلسلة النصية المُدخلة، أو جزءًا منها، والمُطابقة للتعبير النمطي. البنية العامة abstract val value: String القيمة المعادة تعاد سلسلة نصية تحوي السلسلة النصية المُدخلة، أو جزءًا منها، والمُطابقة للتعبير النمطي. أمثلة في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()‎، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج منها مجموعات النتائج عبر استدعاء الدالة matchEntire()‎. نستخدم بعدئذٍ الخاصية value لاستخراج السلسلة النصية المُطابقة للتعبير النمطي regex و الموجودة في str: fun main(args: Array<String>) { val pattern = Regex("[a-zA-Z]+([0-9]+)[a-zA-Z]+([0-9]+)[a-zA-Z]+") val str = ...

الدالة MatchResult.next()‎ في Kotlin

تعيد الدالة next()‎ كائنًا من النوع MatchResult يحوي ناتج المطابقة التالية لتعبير نمطي محدد والذي يبدأ عند الفهرس الذي انتهت عنده آخر عملية مطابقة (أي يبدأ عن المحرف الذي يلي آخر محرف تمت مطابقته). البنية العامة abstract fun next(): MatchResult? القيمة المعادة يعاد كائنٌ من النوع MatchResult يحوي نتائج المطابقة التالية لتعبير نمطي محدد التي تبدأ من الفهرس الذي انتهت عنده آخر عملية مطابقة. أمثلة ينشِئ التابع Regex()‎ في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم يستدعي معه الدالة find()‎ للحصول على مطابقات التعبير النمطي reg ...

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

تقسم الدالة partition()‎ المصفوفة أو المجموعة التي استُدعيت معها إلى قسمين؛ الأول يضم العناصر التي تحقِّق شرطًا محدَّدًا، والثاني يضم العناصر الأخرى المتبقيَّة. البنية العامة يمكن استدعاء الدالة partition()‎ مع المصفوفات والمجموعات: inline fun <T> Array<out T>.partition( predicate: (T) -> Boolean ): Pair<List<T>, List<T>> inline fun ByteArray.partition( predicate: (Byte) -> Boolean ): Pair<List<Byte>, List<Byte>> inline fun ShortArray.partition( predicate: (Short) -> Boolean ): Pair<List<Short>, List<Short>> inline fun IntArray.partition( predicate: (Int) -> Boolean ): ...

التهيئة الأولية للصنف 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 دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها بناءً على قيمة ...

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