نتائج البحث

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

القوائم list في بايثون

تمتلك بايثون عددًا من أنواع البيانات المركبة والتي تستخدم لتجميع القيم الأخرى مع بعضها البعض، والقوائم هي أوسع هذه الأنواع وأكثرها شمولًا، ويمكن كتابتها كقائمة من القيم (العناصر) المفصولة عن بعضها البعض بفواصل (،) ومحاطة بأقواس مربعة. يمكن للقوائم أن تتضمّن أنواعًا مختلفة، ولكن عادة ما تكون العناصر كلها من النوع نفسه. >>> squares = [1, 4, 9, 16, 25] >>> squares [1, 4, 9, 16, 25] فهرسة القوائم واقتطاع أجزاء منها كما هو الحال مع السلاسل النصية (والأنواع الأخرى من التسلسلات ...

CSS/Topics/List

الخاصية الوصف counter-increment تُزيد أو تُنقِص قيمة أحد عدّادات CSS بقيمة معيّنة، ويمكن إعادة تعيين العدّاد إلى رقم معيّن باستخدام الخاصية counter-reset. counter-reset تُعيد ضبط قيمة أحد عدّادات CSS إلى قيمة معيّنة، ويمكن زيادة أو إنقاص قيمة العداد باستخدام الخاصية counter-increment. list-style الخاصية list-style في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصياتlist-style-type و list-style-image و list-style-position. list-style-image تُحدِّد صورةً لتُستخدَم للإشارة إلى عناصر القائمة. من المستحسن عادةً استخدام الخاصية المختصرة list-style لضبط قيمة هذه الخاصية. list-style-position تُحدِّد مكان إشارة عناصر القائمة. ومن المستحسن عادةً استخدام الخاصية المختصرة list-style. list-style-type ...

الخاصية list-style

الخاصية list-style في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات list-style-type و list-style-image و list-style-position. بطاقة الخاصية القيمة الابتدائية لكل قيمة مختصرة: list-style-type: disc list-style-position: outside list-style-image: none تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة لكل قيمة مختصرة: list-style-image: القيمة none أو رابط URI مطلق للصورة. list-style-position: كما حُدِّدَت. list-style-type: كما حُدِّدَت. /* type */ list-style: square; /* image */ list-style: url('../img/shape.png'); /* position */ list-style: inside; /* type | position */ list-style: georgian inside; /* type | image | position */ list-style: lower-roman url('../img/shape.png') outside; /* ...

الدالة list()‎‎‎‎ في PHP

(PHP 4, PHP 5, PHP 7) تُعيّن الدالة list()‎‎‎ المتغيرات كما لو كانت تشكل مصفوفة. الوصف array list ( mixed $var1 [, mixed $... ] ) مثلما هو الحال مع الدالة array()‎‎‎، تمثل الدالة list()‎‎‎‎ بنيةً من بنى اللغة تُستخدم لتمثيل قائمة من المتغيرات في عملية واحدة، وليست دالةً عاديةً. ملاحظة: تُستخدم الدالة list()‎‎‎‎ فقط مع المصفوفات الرقمية وتفترض فهارس رقمية تبدأ من 0. تحذير: في PHP 5، تبدأ الدالة list()‎‎‎‎ بتعيين القيم بدءًا من أقصى اليمين. أما في PHP 7، ...

الخاصية list-style-type

الخاصية list-style-type في CSS تُحدِّد شكل الإشارة إلى عناصر القائمة. بطاقة الخاصية القيمة الابتدائية disc تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* قائمة مختصرة بأنواع الأشكال */ list-style-type: disc; list-style-type: circle; list-style-type: square; list-style-type: decimal; list-style-type: arabic-indic; /* <string> */ list-style-type: '-'; /* @counter-style rule */ list-style-type: custom-counter-style; list-style-type: none; /* القيم العامة */ list-style-type: inherit; list-style-type: initial; list-style-type: unset; ملاحظة: هذه الخاصية ستُطبَّق على عناصر القوائم، أي العناصر التي تكون قيمة الخاصية display فيها تساوي list-item، وهذا يتضمن العنصر <li> افتراضيًا؛ لكن لاحظ أنَّ قيمة ...

الخاصية list-style-image

الخاصية list-style-image في CSS تُحدِّد صورةً لتُستخدَم للإشارة إلى عناصر القائمة. ومن المستحسن عادةً استخدام الخاصية المختصرة list-style لضبط قيمة هذه الخاصية. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة القيمة none أو رابط URI مطلق للصورة. /* كلمة مفتاحية */ list-style-image: none; /* <url> قيم */ list-style-image: url('starsolid.gif'); /* القيم العامة */ list-style-image: inherit; list-style-image: initial; list-style-image: unset; ملاحظة: هذه الخاصية ستُطبَّق على عناصر القوائم، أي العناصر التي تكون قيمة الخاصية display فيها تساوي list-item، وهذا يتضمن ...

الخاصية list-style-position

الخاصية list-style-position في CSS تُحدِّد مكان إشارة عناصر القائمة. ومن المستحسن عادةً استخدام الخاصية المختصرة list-style. بطاقة الخاصية القيمة الابتدائية outside تُطبَّق على عناصر القوائم. قابلة للوراثة نعم قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* كلمات مفتاحية */ list-style-position: inside; list-style-position: outside; /* القيم العامة */ list-style-position: inherit; list-style-position: initial; list-style-position: unset; ملاحظة: هذه الخاصية ستُطبَّق على عناصر القوائم، أي العناصر التي تكون قيمة الخاصية display فيها تساوي list-item، وهذا يتضمن العنصر <li> افتراضيًا؛ لكن لاحظ أنَّ قيمة هذه الخاصية قابلة للوراثة، أي يمكن ضبطها ...

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

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

القائمة الطويلة للمعاملات (Long Parameter List)

توصيف المشكلة وجود ما يزيد عن ثلاثة أو أربعة معاملات (parameters) مُمرَّرة للتابع (method). أسبابها قد تحدث هذه المشكلة عند دمج عدّة خوارزمياتٍ بنفس التابع (method)، إذ تُستخدَم المعاملات (parameters) الكثيرة لتحديد الخوارزمية التي ستُنفَّذ وآليّتها. أو قد تنتج المشكلة عن محاولة المبرمج أو المطوِّر لجعل الأصناف (classes) أكثر استقلاليةً عن بعضها البعض. فمثلًا: عند نقل الشيفرة التي تنشِئ الكائنات (objects) -اللازمة لأحد التوابع- من داخل التابع إلى الشيفرة التي تستدعي ذلك التابع سيتطلَّبُ تمرير تلك الكائنات إلى التابع كمعاملاتٍ ...

الخاصية ‎‎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 إن كانت المصفوفة أو القائمة فارغة. أمثلة استخدام ...

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

تُعيد الدالة reversed()‎ قائمة تضم عناصر المصفوفة أو المجموعة التي استُدعيت معها بترتيب معكوس. البنية العامة fun <T> Array<out T>.reversed(): List<T> fun ByteArray.reversed(): List<Byte> fun ShortArray.reversed(): List<Short> fun IntArray.reversed(): List<Int> fun LongArray.reversed(): List<Long> fun FloatArray.reversed(): List<Float> fun DoubleArray.reversed(): List<Double> fun BooleanArray.reversed(): List<Boolean> fun CharArray.reversed(): List<Char> fun <T> Iterable<T>.reversed(): List<T> القيم المعادة تعاد قائمة تضم عناصر المصفوفة أو المجموعة المعطاة بترتيب معكوس. أمثلة استعمال الدالة ()reversed لعكس ترتيب عناصر قائمة: fun main(args: Array<String>) { var list = listOf(1, 2, 3, ...

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

تُعيد الدالة asList()‎ قائمةً (list) تُغلّف المصفوفة الأصلية التي استُدعيت عبرها. البنية العامة تختلف بحسب نوع المصفوفة: fun <T> Array<out T>.asList(): List<T> fun ByteArray.asList(): List<Byte> fun ShortArray.asList(): List<Short> fun IntArray.asList(): List<Int> fun LongArray.asList(): List<Long> fun FloatArray.asList(): List<Float> fun DoubleArray.asList(): List<Double> fun BooleanArray.asList(): List<Boolean> fun CharArray.asList(): List<Char> القيم المعادة قائمة (list) تُغلّف المصفوفة الأصلية التي استُدعيت عبرها. أمثلة تعرِّف الشيفرة الآتية مصفوفةً باسم array مكوَّنة من حرفين باستخدام الدالة ()arrayOf، ثم تنشئ قائمةً باسم list من المصفوفة array وذلك باستخدام الدالة ()asList ...

التحقق من الأنواع (Type Check) والتحويل بينها (Casting) في لغة Kotlin

المعاملين is و ‎!is تدعم لغة Kotlin ميّزة التحقُّق من توافق الكائن مع أحد الأنواع أثناء التنفيذ، وذلك بالاعتماد على المُعامِل is أو صيغته المنفيّة ‎!is كما في الشيفرة: if (obj is String) { print(obj.length) } if (obj !is String) { // !(obj is String) مكافئ للصيغة print("Not a String") } else { print(obj.length) } التحويلات الذكية (Smart Casts) لا حاجة في كثيرٍ من الأحيان لجعل التحويل صريحًا (explicit) في لغة Kotlin لأنّ المترجم (compiler) يتتبَّع ...

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

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

الدالة 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 ): ...

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

تعيد الدالة requireNoNulls()‎ العناصر غير المعدومة (non-null) من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها أو ترمي استثناءً إن وجد عنصر معدوم (null). البنية العامة fun <T : Any> Array<T?>.requireNoNulls(): Array<T> fun <T : Any> Iterable<T?>.requireNoNulls(): Iterable<T> fun <T : Any> List<T?>.requireNoNulls(): List<T> القيم المعادة تعاد المصفوفة أو المجموعة أو القائمة المعطاة نفسها إن لم يكن فيها أي عنصر معدوم أو يرمى الاستثناء IllegalArgumentException إن وجد أي عنصر معدوم. أمثلة استعمال الدالة ()requireNoNulls مع قائمة لا تحتوي على أي عنصر معدوم: fun ...

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

تعيد الدالة dropLast()‎ قائمة تحوي جميع عناصر المصفوفة أو المجموعة التي استُدعيت معها باستثناء آخر n عنصر. البنية العامة fun <T> Array<out T>.dropLast(n: Int): List<T> fun ByteArray.dropLast(n: Int): List<Byte> fun ShortArray.dropLast(n: Int): List<Short> fun IntArray.dropLast(n: Int): List<Int> fun LongArray.dropLast(n: Int): List<Long> fun FloatArray.dropLast(n: Int): List<Float> fun DoubleArray.dropLast(n: Int): List<Double> fun BooleanArray.dropLast(n: Int): List<Boolean> fun CharArray.dropLast(n: Int): List<Char> fun <T> List<T>.dropLast(n: Int): List<T> المعاملات n عدد صحيح يمثل عدد العناصر المراد حذفها من نهاية المصفوفة أو المجموعة المعطاة. القيم المعادة تُعاد ...

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

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

الدالة 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>): ...

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

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

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

تجلب الدالة takeLast()‎ آخر n عنصر من المصفوفة أو المجموعة التكرارية التي استُدعيت معها وتضعها في قائمة.  البنية العامة fun <T> Array<out T>.takeLast(n: Int): List<T> fun ByteArray.takeLast(n: Int): List<Byte> fun ShortArray.takeLast(n: Int): List<Short> fun IntArray.takeLast(n: Int): List<Int> fun LongArray.takeLast(n: Int): List<Long> fun FloatArray.takeLast(n: Int): List<Float> fun DoubleArray.takeLast(n: Int): List<Double> fun BooleanArray.takeLast(n: Int): List<Boolean> fun CharArray.takeLast(n: Int): List<Char> fun <T> List<T>.takeLast(n: Int): List<T> المعاملات n عدد صحيح يمثل عدد العناصر الأخيرة المراد جلبها من المصفوفة أو المجموعة التكرارية المعطاة. إن كانت القيمة المعطاة لهذا المعامل أكبر من طول المصفوفة أو المجموعة التكرارية، فستعاد ...

الدالة 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) ...

الدالة 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>> القيمة المعادة تعاد قائمتين؛ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية المعطاة وتحتوي الثانية على القيم الثانية لكل ...

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

ترتِّب الدالة sortedDescending()‎ جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها تنازليًّا ثمَّ تضع الناتج في قائمة. البنية العامة fun <T : Comparable<T>> Array<out T>.sortedDescending(): List<T> fun ByteArray.sortedDescending(): List<Byte> fun ShortArray.sortedDescending(): List<Short> fun IntArray.sortedDescending(): List<Int> fun LongArray.sortedDescending(): List<Long> fun FloatArray.sortedDescending(): List<Float> fun DoubleArray.sortedDescending(): List<Double> fun CharArray.sortedDescending(): List<Char> fun <T : Comparable<T>> Iterable<T>.sortedDescending(): List<T> القيمة المعادة تُعاد قائمة تضم عناصر المصفوفة أو المجموعة التكرارية المعطاة بعد ترتيبها تنازليًّا. أمثلة استعمال الدالة ()sortedDescending لترتيب عناصر مصفوف تنازليًّا: fun main(args: Array<String>) { val array = arrayOf(1, ...

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

ترتِّب الدالة sorted()‎ جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها تصاعديًّا ثمَّ تضع الناتج في قائمة. البنية العامة fun <T : Comparable<T>> Array<out T>.sorted(): List<T> fun ByteArray.sorted(): List<Byte> fun ShortArray.sorted(): List<Short> fun IntArray.sorted(): List<Int> fun LongArray.sorted(): List<Long> fun FloatArray.sorted(): List<Float> fun DoubleArray.sorted(): List<Double> fun CharArray.sorted(): List<Char> fun <T : Comparable<T>> Iterable<T>.sorted(): List<T> القيمة المعادة تُعاد قائمة تضم عناصر المصفوفة أو المجموعة التكرارية المعطاة بعد ترتيبها تصاعديًّا. أمثلة استعمال الدالة ()sorted لترتيب عناصر مصفوفة تصاعديًّا: fun main(args: Array<String>) { val array = ...

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

تعيد الدالة distinctBy()‎ قائمة تحتوي على العناصر الموجودة في المصفوفة أو المجموعة التي استُدعيت معها والتي تعطي نتيجة مختلفة عند تطبيق الدالة selector عليها فقط. تُرتَّب العناصر في القائمة الناتجة بنفس ترتيبها في المصفوفة أو المجموعة الأصليَّة. البنية العامة تستدعى الدالة distinctBy()‎ مع مصفوفة: inline fun <T, K> Array<out T>.distinctBy( selector: (T) -> K ): List<T> inline fun <K> ByteArray.distinctBy( selector: (Byte) -> K ): List<Byte> inline fun <K> ShortArray.distinctBy( selector: (Short) -> ...

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

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

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

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

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

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

الدالة 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 ...

الأنواع المُعمَّمة (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 لها ...

الدالة 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( ...

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

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

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

تعكس الدالة reverse()‎ ترتيب عناصر المصفوفة أو القائمة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة reverse()‎ مع المصفوفات: fun <T> Array<T>.reverse() fun ByteArray.reverse() fun ShortArray.reverse() fun IntArray.reverse() fun LongArray.reverse() fun FloatArray.reverse() fun DoubleArray.reverse() fun BooleanArray.reverse() fun CharArray.reverse() ويمكن استدعاؤها مع القوائم المتغيرة (MutableList): fun <T> MutableList<T>.reverse() أمثلة استعمال الدالة ()reverse لعكس ترتيب عناصر قائمة: fun main(args: Array<String>) { var list = MutableList(6) { it } // [0, 1, 2, 3, 4, 5] list.reverse() print(list) ...

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

تشبه الدالة flatMapTo()‎ الدالة flatMap()‎ تمامًا باستثناء أنها تضيف الناتج المعاد إلى كائن موجود مسبقًا بدلًا من إعادته فقط. البنية العامة inline fun <R, C : MutableCollection<in R>> CharSequence.flatMapTo( destination: C, transform: (Char) -> Iterable<R> ): C وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات destination مجموعة قابلة للتغيير (MutableCollection‎) تمثل الوجهة التي سيضاف إليها الناتج. transform دالةٌ تطبق على كل محرف من محارف السلسلة المعطاة، وتعيد ...

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

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

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

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

الدالة 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( ...

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

ترشِّح الدالة filterIndexed()‎ عناصر المصفوفة أو المجموعة المعطاة بناءً على فهرس العنصر وقيمته. البنية العامة inline fun <T> Array<out T>.filterIndexed( predicate: (index: Int, T) -> Boolean ): List<T> inline fun ByteArray.filterIndexed( predicate: (index: Int, Byte) -> Boolean ): List<Byte> inline fun ShortArray.filterIndexed( predicate: (index: Int, Short) -> Boolean ): List<Short> inline fun IntArray.filterIndexed( predicate: (index: Int, Int) -> Boolean ): List<Int> inline fun LongArray.filterIndexed( predicate: (index: Int, Long) -> ...

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

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

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

تقطِّع الدالة chunked()‎ سلسلة المحارف التي استُدعيت معها إلى عدة أجزاء لا يتجاوز كل منها حجمًا معينًا وتعيدها في قائمة أو تطبِّق دالة معينة على كل منها وتضع الناتج الذي تعيده هذه الدالة في قائمة. البنية العامة fun CharSequence.chunked(size: Int): List<String> fun <R> CharSequence.chunked( size: Int, transform: (CharSequence) -> R ): List<R> بيئة التشغيل المطلوبة: Kotlin 1.2. المعاملات size عدد صحيح يمثل عدد العناصر المراد اقتطاعها ووضعها في كل سلسلة نصية. يجب أن يكون هذا ...

الدالة 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 ...

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

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

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

تعيد الدالة filterIsInstance()‎ قائمة تحوي عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن. البنية العامة inline fun <reified R> Array<*>.filterIsInstance(): List<R> inline fun <reified R> Iterable<*>.filterIsInstance(): List<R> يمكن تمرير المعامل klass إلى الدالة filterIsInstance()‎: fun <R> Array<*>.filterIsInstance(klass: Class<R>): List<R> fun <R> Iterable<*>.filterIsInstance(klass: Class<R>): List<R> بيئة التشغيل المطلوبة: JVM وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (لمزيد من التفاصيل، راجع توثيق الدوال المباشرة)، واستخدام الكلمة المفتاحية reified يسمح بالوصول إلى نوعٍ مُمرَّر كمتحولٍ وسيطٍ (parameter، راجع توثيق reified ...

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

ترشِّح الدالة filter()‎ عناصر المصفوفة أو المجموعة أو أزواج الخرائط المعطاة التي تحقِّق شرطًا معيَّنًا ثمّ تعيدها. البنية العامة يمكن استدعاء الدالة filter()‎ مع المصفوفات والمجموعات: inline fun <T> Array<out T>.filter( predicate: (T) -> Boolean ): List<T> inline fun ByteArray.filter( predicate: (Byte) -> Boolean ): List<Byte> inline fun ShortArray.filter( predicate: (Short) -> Boolean ): List<Short> inline fun IntArray.filter( predicate: (Int) -> Boolean ): List<Int> inline fun LongArray.filter( predicate: (Long) ...

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

تعيد الدالة filterNot()‎ قائمةً تحوي عناصر المصفوفة أو المجموعة التي لم تحقق شرطًا منطقيًّا محدَّدًا. إن استدعيت مع خريطة (map)، فستعيد خريطة جديدة تحوي الأزواج التي لم تحقق ذلك الشرط المنطقي. تحافظ هذه الخريطة الجديد على ترتيب تكرار المدخلات (entry iteration order) كما في الخريطة الأصلية. البنية العامة يمكن استدعاء الدالة filterNot()‎ مع المصفوفات أو المجموعات: inline fun <T> Array<out T>.filterNot( predicate: (T) -> Boolean ): List<T> inline fun ByteArray.filterNot( predicate: (Byte) -> Boolean ): List<Byte> ...

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

تعيد الدالة flatten()‎ قائمة واحدة تحوي جميع عناصر المصفوفات أو المجموعات المتشعبة ضمن المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة flatten()‎ مع المصفوفات: fun <T> Array<out Array<out T>>.flatten(): List<T> ويمكن استدعاؤها مع المجموعات: fun <T> Iterable<Iterable<T>>.flatten(): List<T> القيم المعادة تُعاد قائمة واحدة تحوي جميع عناصر المصفوفات أو المجموعات المتشعبة ضمن المصفوفة أو المجموعة المعطاة. أمثلة استخدام الدالة ()flatten مع المصفوفات: fun main(args: Array<String>) { val deepArray = arrayOf( ...

أمان القيم الفارغة (Null) في لغة Kotlin

الأنواع Nullable والأنواع Non-Null يهدف نظام الأنواع في Kotlin إلى الحدِّ من أخطار القيمة الفارغة null في الشيفرات، إذ إنّ أحد الأخطاء الأكثر شيوعًا في لغات البرمجة -بما فيها لغة Java- هو أنّ محاولة الوصول إلى مرجعيّةٍ تحتوي على القيمة null سيؤدي إلى حدوث استثناءٍ مرجعيّ (reference exception)، ويُدعى هذا الاستثناء في لغة Java باسم NullPointerException أو NPE اختصارًا، أمّا Kotlin فهي تحدُّ من هذا الاستثناء ليقتصر على الحالات الآتية: استدعاءٌ صريحٌ بالشكل: throw NullPointerException()‎ استخدام المعامل !! (كما سيُشرح لاحقًا) ...

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

تضيف الدالة toCollection()‎ كل محارف السلسلة التي استٌدعيت معها إلى المجموعة المتغيرة المُمرّرة إليها. البنية العامة fun <C : MutableCollection<in Char>> CharSequence.toCollection( destination: C ): C المعاملات مجموعة متغيرة يراد أن يضاف فيها محتوى سلسلة المحارف المعطاة. القيم المعادة يعاد المعامل destination بعد إضافة محتوى سلسلة المحارف المعطاة إليه. أمثلة مثالٌ على استعمال الدالة toCollection()‎: fun main(args: Array<String>) { val list: MutableList<Char> = mutableListOf() val str = "wikiHsoub" str.toCollection(list) ...

الدالة 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( ...

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