نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
المجموعات (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);
});
كما ترى، تسمح الدالة بسلسلة توابعها لتنفيذِ تخطيطِ دقيق و التحكم في حجم المصفوفة قيد العمل. بشكل عام، المجموعات غير قابلة للتغيير، أي أن كل ...
تغليف المجموعات (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 إلى إطلاق ...
الدالة 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 ...
الخاصية 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)
...
المجموعات (Collections): القائمة (List) والمجموعة (Set) و الخارطة (Map) في لغة Kotlin
تُميِّز لغة Kotlin (على خلاف العديد من لغات البرمجة) بين المجموعة المتغيّرة (mutable) والثابتة (immutable)، وتساهم قدرتُها على التحكُّم الدقيق في الحالات التي يُسمَح فيها بتعديل المجموعات في التقليل من الأخطاء البرمجية (bugs) وتحقيق تصميمٍ أفضل لواجهات API. ومن المهمِّ معرفة الفوارق ما بين العرض (view) الثابت للقراءة فقط (read-only) للمجموعة المتغيّرة والمجموعة الثابتة الفعليّة، إذ من السهل إنشاء كلِّ منهما ولكن نظام الأنواع في Kotlin لا يوضّح الفرق بينهما، ويقع ذلك على عاتق المتعلِّم. يُعدُّ النوع List<out T> في ...
الدالة 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
وإن استدعيت هذه ...
الدالة 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 والتي تُغلّف المجموعة التي استُدعيت عبرها وتعيد عناصرها عندما تُستخدَم ...
الدالة 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> ...
الخاصية 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>()) // ...
الدالة binarySearch() في Kotlin
تبحث الدالة binarySearch() عن عنصر معين في المجموعة أو مجال من المجموعة (Collection) باستخدام خوارزميَّة البحث الثنائي (binary search algorithm) وتعيد فهرس موقعه. ويجب أن تكون المجموعة مرتبَّةً وفق المُقارِن comparator وإلا فستكون النتيجة المعادة غير مُحدّدة. إن احتوت المصفوفة على عناصر متساوية، فلا يمكن التوقع أيها سيُعاد. تُعيد الدالة فهرس العنصر المبحوث عنه إن كان موجودًا في المجال المحدَّد؛ خلاف ذلك، فستعيد القيمة السالبة لنقطة الإدراج (-insertion point - 1)، وهي الفهرس حيث يجب أن يُدرج العنصر حتى تبقى ...
الدالة associateBy() في Kotlin
تعيد الدالة associateBy() خريطةً (map) مكونة من الأزواج "مفتاح/قيمة"، إذ يكون المفتاح (key) هو الناتج الذي تعيده الدالة keySelector الممررة إليها وتكون القيمة (value) المقابلة لذلك المفتاح هي إمَّا عناصر المصفوفة أو المجموعة المعطاة أو الناتج الذي تعيده الدالة valueTransform الممررة. إن كان لعنصرين نفس المفتاح (key) بعد تطبيق الدالة keySelector، فإنَّ الأخير هو الذي سيُضاف إلى الخريطة. تحافظ الخريطة المُعادة على نفس ترتيب التكرار الخاص بالمصفوفة أو المجموعة الأصليَّة. البنية العامة إن استدعيت الدالة associateBy()مع مصفوفة، فستعيد خريطةً (map) ...
الأنواع المُعمَّمة (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 لها ...
الواجهة 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 تمثل هذه الخاصية السلسلة النصية المُدخلة، أو ...
الخاصية 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 إن كانت المصفوفة أو القائمة فارغة. أمثلة استخدام ...
الخاصية 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 = ...
الدالة 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 ...
الدالة MatchResult.next() في Kotlin
تعيد الدالة next() كائنًا من النوع MatchResult يحوي ناتج المطابقة التالية لتعبير نمطي محدد والذي يبدأ عند الفهرس الذي انتهت عنده آخر عملية مطابقة (أي يبدأ عن المحرف الذي يلي آخر محرف تمت مطابقته). البنية العامة abstract fun next(): MatchResult?
القيمة المعادة يعاد كائنٌ من النوع MatchResult يحوي نتائج المطابقة التالية لتعبير نمطي محدد التي تبدأ من الفهرس الذي انتهت عنده آخر عملية مطابقة. أمثلة ينشِئ التابع Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم reg لمطابقة التعابير العددية، ثم يستدعي معه الدالة find() للحصول على مطابقات التعبير النمطي reg ...
الخاصية MatchResult.destructured في Kotlin
تمثل الخاصية MatchResult.destructured نسخةً من الصنف Destructured توفّر مكونات عملية الإسناد بالتفكيك (destructuring assignment) التي تطبق على قيم المجموعة المُطابقة. تطابق الدالة component1 قيمة المجموعة الأولى، وتطابق الدالة component2 قيمة المجموعة الثانية، وهلم جرًا. البنية العامة open val destructured: Destructured
القيمة المعادة تعاد نسخةٌ من الصنف Destructured. أمثلة ينشِئ التابع Regex() في الشيفرة التالية تعبيرًا نمطيًا باسم regex لتفكيك مسارات الملفات إلى ثلاث مُركّبات: المجلد (directory) واسم الملف (fileName) والامتداد (extension)، ثم نعرّف سلسلة نصية باسم fullPath تحتوي مسار أحد الملفات، ثم نستخرج من fullPath مجموعات النتائج عبر استدعاء الدالة ...
الدالة isNotEmpty() في Kotlin
تتحقَّق الدالة isNotEmpty() إن كانت المصفوفة أو المجموعة التي استُدعيت معها فارغةً أم لا. تعمل هذه الدالة بشكل معاكس للدالة isEmpty(). البنية العامة يمكن استدعاء الدالة isNotEmpty() مع المصفوفات والمجموعات: inline fun <T> Array<out T>.isNotEmpty(): Boolean
inline fun ByteArray.isNotEmpty(): Boolean
inline fun ShortArray.isNotEmpty(): Boolean
inline fun IntArray.isNotEmpty(): Boolean
inline fun LongArray.isNotEmpty(): Boolean
inline fun FloatArray.isNotEmpty(): Boolean
inline fun DoubleArray.isNotEmpty(): Boolean
inline fun BooleanArray.isNotEmpty(): Boolean
inline fun CharArray.isNotEmpty(): Boolean
inline fun <T> Collection<T>.isNotEmpty(): Boolean
وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من ...
الدالة 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 ...
الخاصية MatchResult.range في Kotlin
تمثل الخاصية MatchResult.range مجال الفهارس الذي يحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. البنية العامة abstract val range: IntRange
القيمة المعادة يعاد مجالٌ من النوع IntRange يمثل الفهارس التي تحدد مكان مُطابقة تعبير نمطي محدد في السلسلة النصية الأصلية. أمثلة في الشيفرة التالية، ننشِئ تعبيرًا نمطيًا باسم regex باستخدام التابع Regex()، ثم نعرّف سلسلة نصية باسم str، ثم نستخرج منها مجموعات النتائج عبر استدعاء الدالة matchEntire(). نستخدم بعدئذٍ الخاصية MatchResult.range لاستخراج الفهارس التي تحدد مكان مُطابقة التعبير النمطي regex في ...
الدالة 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، فستعيد مجموعة من ...
الدالة 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, ...
المقارنة بين لغتيّ البرمجة 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 الاستثناءات ...
الدالة 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) ...
الدالة any() في Kotlin
يختلف سلوك الدالة any() بحسب طريقة استدعائها، وسنناقش هذه الحالات تباعًا. حالات استدعاء الدالة any() في حال استدعاء الدالة any() مع مصفوفة (array) أو مجموعة (collection) دون تمرير أيّ معامل (parameter) لها، فستعيد القيمة true إن كانت المصفوفة أو المجموعة تحتوي على عنصر ٍ واحدٍ على الأقل (أي أنها غير فارغة)، وتعيد القيمة false بخلاف ذلك. في حال تمرير دالةٍ ما كوسيطٍ (parameter) في الدالة any() فستعيد القيمة true إن كان هناك واحدٌ على الأقل من عناصر المصفوفة أو المجموعة ...
الخاصية MatchResult.groupValues في Kotlin
تمثل الخاصية MatchResult.groupValues قائمة بقيم المجموعة المفهرسة المتطابقة. حجم تلك القائمة يساوي groupCount + 1، إذ يكون groupCount عدد المجموعات المتطابقة في التعبير النمطي. تلك المجموعات مُفهرسة بدءًا من العدد 1 وحتى groupCount، والمجموعة ذات الفهرس 0 توافق كل ما تطابق. إن كانت المجموعة في التعبير النمطي اختيارية ولم ترصد هذه المجموعة أي عملية تطابق تُذكر، فستساوي قيمةُ العنصر المقابل في المجموعة groupValues حينئذٍ سلسلةً نصيةً فارغةً. البنية العامة abstract val groupValues: List<String>
القيمة المعادة تعاد قائمة تضم جميع قيم ...
الدالة 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 ...
الدالة component1() في Kotlin
تعيد الدالة component1() العنصر الأول من المصفوفة أو المفتاح (key) لأول زوج (مفتاح/قيمة) في الخريطة (map) التي استدعيت معها. تسمح هذه الدالة باستخدام التصريحات التفكيكية (destructuring declarations) عند العمل على الخرائط. البنية العامة يمكن استدعاء الدالة component1() مع المصفوفات والقوائم (list): inline operator fun <T> Array<out T>.component1(): T
inline operator fun ByteArray.component1(): Byte
inline operator fun ShortArray.component1(): Short
inline operator fun IntArray.component1(): Int
inline operator fun LongArray.component1(): Long
inline operator fun FloatArray.component1(): Float
inline operator fun DoubleArray.component1(): Double
inline operator fun ...
الدالة 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 العنصر المراد جلب فهرس ...
الدالة findAnyOf() في Kotlin
تبحث الدالة findAnyOf() عن أول ظهور لأيٍّ من السلاسل النصية المعطاة في سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.findAnyOf(
strings: Collection<String>,
startIndex: Int = 0,
ignoreCase: Boolean = false
): Pair<Int, String>?
المعاملات strings مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة. لتجنب الالتباس الناتج عند وجود محارف مشتركة بين السلاسل النصية الموجودة في المعامل strings، فإنّ الدالة findAnyOf() تبدأ من بداية سلسلة المحارف المعطاة ...
الدالة 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(
...
الواجهة 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 تعيد هذه ...
الدالة 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(
...
الدالة 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>): ...
التصريحات بالتفكيك (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 و... ...
الدالة toDoubleArray() في Kotlin
تحول الدالة toDoubleArray() المصفوفة العامة (أي من النوع Array<Double>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع DoubleArray. البنية العامة fun Array<out Double>.toDoubleArray(): DoubleArray
fun Collection<Double>.toDoubleArray(): DoubleArray
القيمة المعادة تعاد مصفوفة من النوع DoubleArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Double>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toDoubleArray لتحويل مصفوفة من النوع Array<Double> إلى النوع DoubleArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Double> = arrayOf(4.5, 5.4, 6.0)
println(Arrays.toString(array.toDoubleArray())) // [4.5, 5.4, 6.0]
...
الدالة toBooleanArray() في Kotlin
تحول الدالة toBooleanArray() المصفوفة العامة (أي من النوع Array<out Boolean>) أو المجموعة التي استُدعيت معها إلى مصفوفة من قيم منطقية (أي من النوع BooleanArray) . البنية العامة fun Array<out Boolean>.toBooleanArray(): BooleanArray
fun Collection<Boolean>.toBooleanArray(): BooleanArray
القيمة المعادة تعاد مصفوفة من القيم المنطقية (من النوع BooleanArray) تحوي جميع عناصر المصفوفة العامة (من النوع Array<out Boolean>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toBooleanArray لتحويل مصفوفة من النوع Array<Boolean> إلى النوع BooleanArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Boolean> = arrayOf(true, true, false)
...
الدالة toFloatArray() في Kotlin
تحول الدالة toFloatArray() المصفوفة العامة (أي من النوع Array<Float>) أو المجموعة التي استُدعيت معها مصفوفة من النوع FloatArray. البنية العامة fun Array<out Float>.toFloatArray(): FloatArray
fun Collection<Float>.toFloatArray(): FloatArray
القيمة المعادة تعاد مصفوفة من النوع FloatArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Float>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toFloatArray لتحويل مصفوفة من النوع Array<Float> إلى النوع FloatArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Float> = arrayOf(4.5f, 5.4f, 6.0f)
println(Arrays.toString(array.toFloatArray())) // [4.5, 5.4, 6.0]
...
الدالة toByteArray() في Kotlin
تحوِّل الدالة toByteArray() المصفوفة العامة (أي من النوع Array<Byte>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع ByteArray. البنية العامة fun Array<out Byte>.toByteArray(): ByteArray
fun Collection<Byte>.toByteArray(): ByteArray
القيمة المعادة تعاد مصفوفة من النوع ByteArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Byte>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toByteArray لتحويل مصفوفة من النوع Array<Byte> إلى النوع ByteArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Byte> = arrayOf(1, 5, 6)
println(array.toByteArray().javaClass.kotlin.qualifiedName) // kotlin.ByteArray
}
انظر أيضًا لدالة toBooleanArray(): تحول المصفوفة العامة (أي من النوع Array<out Boolean>) أو المجموعة التي استُدعيت معها إلى مصفوفة من القيم ...
الدالة toCharArray() في Kotlin
تحول الدالة toCharArray() المصفوفة العامة (أي التي من النوع Array<Char>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع CharArray. البنية العامة fun Array<out Char>.toCharArray(): CharArray
fun Collection<Char>.toCharArray(): CharArray
القيمة المعادة تعاد مصفوفة من النوع CharArray تحوي جميع عناصر المصفوفة العامة (أي التي من النوع Array<Char>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toCharArray لتحويل مصفوفة من النوع Array<Char> إلى مصفوفة من النوع CharArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Char> = arrayOf('a', 'b', 'c')
println(array.toCharArray().javaClass.kotlin.qualifiedName) // kotlin.CharArray
}
انظر أيضًا الدالة toBooleanArray(): تحول المصفوفة العامة (أي من النوع Array<out Boolean>) أو المجموعة التي استُدعيت معها ...
الدالة toLongArray() في Kotlin
تحول الدالة toLongArray() المصفوفة العامة (أي من النوع Array<Long>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع LongArray. البنية العامة fun Array<out Long>.toLongArray(): LongArray
fun Collection<Long>.toLongArray(): LongArray
القيمة المعادة تعاد مصفوفة من النوع LongArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Long>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toLongArray لتحويل مصفوفة من النوع Array<Long> إلى النوع LongArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Long> = arrayOf(4, 5, 6)
println(Arrays.toString(array.toLongArray())) // [4, 5, 6]
...
الدالة 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: ...
الدالة toIntArray() في Kotlin
تحول الدالة toIntArray() المصفوفة العامة (أي من النوع Array<Int>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع IntArray. البنية العامة fun Array<out Int>.toIntArray(): IntArray
fun Collection<Int>.toIntArray(): IntArray
القيمة المعادة تعاد مصفوفة من النوع IntArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Int>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toIntArray لتحويل مصفوفة من النوع Array<Int> إلى النوع IntArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Int> = arrayOf(4, 5, 6)
println(Arrays.toString(array.toIntArray())) // [4, 5, 6]
...
الدالة CharSequence.indexOfAny() في Kotlin
تجلب الدالة indexOfAny() فهرس أول ظهور لأيٍّ منه المحارف أو السلاسل النصية المعطاة من سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.indexOfAny(
chars: CharArray,
startIndex: Int = lastIndex,
ignoreCase: Boolean = false
): Int
fun CharSequence.indexOfAny(
strings: Collection<String>,
startIndex: Int = lastIndex,
ignoreCase: Boolean = false
): Int
المعاملات chars مصفوفة من المحارف التي يراد البحث عنها ضمن سلسلة المحارف المعطاة. strings مجموعةٌ من ...
الدالة toShortArray() في Kotlin
تحول الدالة toShortArray() المصفوفة العامة (أي من النوع Array<Short>) أو المجموعة التي استُدعيت معها إلى مصفوفة من النوع ShortArray. البنية العامة fun Array<out Short>.toShortArray(): ShortArray
fun Collection<Short>.toShortArray(): ShortArray
القيمة المعادة تعاد مصفوفة من النوع ShortArray تحوي جميع عناصر المصفوفة العامة (أي من النوع Array<Short>) أو المجموعة المعطاة. أمثلة استعمال الدالة ()toShortArray لتحويل مصفوفة من النوع Array<Short> إلى مصفوفة من النوع ShortArray: import java.util.Arrays
fun main(args: Array<String>) {
val array: Array<Short> = arrayOf(4, 5, 6)
println(Arrays.toString(array.toShortArray())) // [4, 5, ...
الدالة CharSequence.lastIndexOfAny() في Kotlin
تجلب الدالة lastIndexOfAny() فهرس آخر ظهور لأيٍّ منه المحارف أو السلاسل النصية المعطاة من سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.lastIndexOfAny(
chars: CharArray,
startIndex: Int = lastIndex,
ignoreCase: Boolean = false
): Int
fun CharSequence.lastIndexOfAny(
strings: Collection<String>,
startIndex: Int = lastIndex,
ignoreCase: Boolean = false
): Int
المعاملات chars مصفوفة من المحارف التي يراد البحث عنها ضمن سلسلة المحارف المعطاة. strings مجموعةٌ من سلاسل نصية ...
الدالة 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(): ...
Kotlin/Topics
بُنية لغة Kotlin مشابهةٌ لبنية لغة البرمجة Java بوصفها كائنيّة التوجه (OOP)، وبالتالي فهي تعتمد أساسًا على وجود الأصناف (classes) التي تحتوي بدورها على الخاصّيّات (properties) والدوال (functions)، كما وتدعم Kotlin العلاقات فيما بينها مثل الوراثة (inheritance) من صنفٍ أعلى (superclass) أو التداخل فيما بينها (nesting classes)، وتمتاز بوجود مُحدِّدات الوصول (visibility modifiers) للتحكم بعمليات الوصول للبيانات المُخزَّنة، وكذلك فهي تعتمد في بُنيتها على الحزم (packages) والمكتبات (libraries) التي تحتوي على الدوال المساعدة عند الحاجة إليها، أمّا عن بُنية التعليمات ...
الدالة 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 المنطقيَّة ...
التسمية البديلة للأنواع (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 ...
الدالة 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 ...
الدالة 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 ...
الدالة findLastAnyOf() في لغة Kotlin
تبحث الدالة findLastAnyOf() عن آخر ظهور لأيٍّ من السلاسل النصية المعطاة في سلسلة المحارف التي استُدعيت معها. البنية العامة fun CharSequence.findLastAnyOf(
strings: Collection<String>,
startIndex: Int = lastIndex,
ignoreCase: Boolean = false
): Pair<Int, String>?
المعاملات strings مجموعةٌ من سلاسل نصية يراد البحث عنها ضمن سلسلة المحارف المعطاة. لتجنب الالتباس الناتج عند وجود محارف مشتركة بين السلاسل النصية الموجودة في المعامل strings، فإنّ الدالة findLastAnyOf() تبدأ من نهاية سلسلة المحارف المعطاة ...
الصنف FloatArray في Kotlin
يمثل الصنف FloatArray مصفوفةً من الأعداد العشرية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []float. class FloatArray
الدوال البانية <init> تنشئ الدالة FloatArray() البانية مصفوفة جديدة من النوع FloatArray (أي مصفوفة من الأعداد العشرية) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة FloatArray.size عدد العناصر الموجودة في المصفوفة ذات النوع FloatArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف DoubleArray في Kotlin
يمثل الصنف CharArray مصفوفةً من الأعداد العشرية المضاعفة. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class DoubleArray
الدوال البانية (Constructors) <init> تنشئ الدالة DoubleArray() البانية مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة [double]) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة DoubleArray.size عدد العناصر الموجودة في المصفوفة ذات النوع DoubleArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف Array في Kotlin
يمثل الصنف Array مصفوفة (مصفوفة Java تحديدًا عند استهداف المنصة JVM). يمكن إنشاء نسخ من هذا الصنف باستعمال الدوال ()arrayOf و ()arrayOfNulls و ()emptyArray الخاصة بالمكتبة القياسية. للمزيد من المعلومات حول المصفوفات، ارجع إلى قسم "المصفوفات" في توثيق الأنواع الأساسية. class Array<T>
الدوال البانية <int> تنشِئ الدالة Array() البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. الدوال والخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة (array). iterator تعيد هذه الدالة ...
الصنف ByteArray في Kotlin
يمثل الصنف ByteArray مصفوفةً من البايتات. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []byte. class ByteArray
الدوال البانية <int> تنشئ الدالة ByteArray() البانية مصفوفة جديدة من النوع ByteArray (أي حجم كل عنصر منها بايتًا واحدًا) بحجم معين، إذ تحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة ذات النوع ByteArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة ...
الصنف CharArray في Kotlin
يمثل الصنف CharArray مصفوفةً من المحارف. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class CharArray
الدوال البانية <init> تنشئ الدالة CharArray() البانية مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '\u0000' التي تمثل حرفًا عدميًّا. الخاصيات size تمثِّل الخاصيّة CharArray.size عدد العناصر الموجودة في المصفوفة ذات النوع CharArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي فهرس ...
الصنف CharArray في Kotlin
يمثل الصنف CharArray مصفوفةً من المحارف. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class CharArray
الدوال البانية <init> تنشئ الدالة CharArray() البانية مصفوفة جديدة من النوع CharArray (أي مصفوفة من الحروف) بحجم معين، وتحوي قيمًا محدَّدة أو القيمة '\u0000' التي تمثل حرفًا عدميًّا. الخاصيات size تمثِّل الخاصيّة CharArray.size عدد العناصر الموجودة في المصفوفة ذات النوع CharArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي فهرس ...
الصنف DoubleArray في Kotlin
يمثل الصنف CharArray مصفوفةً من الأعداد العشرية المضاعفة. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []char. class DoubleArray
الدوال البانية (Constructors) <init> تنشئ الدالة DoubleArray() البانية مصفوفة جديدة من النوع DoubleArray (أي مصفوفة من الأعداد العشرية المضاعفة [double]) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة DoubleArray.size عدد العناصر الموجودة في المصفوفة ذات النوع DoubleArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator تنشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف FloatArray في Kotlin
يمثل الصنف FloatArray مصفوفةً من الأعداد العشرية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []float. class FloatArray
الدوال البانية <init> تنشئ الدالة FloatArray() البانية مصفوفة جديدة من النوع FloatArray (أي مصفوفة من الأعداد العشرية) بحجم معين، وتحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة FloatArray.size عدد العناصر الموجودة في المصفوفة ذات النوع FloatArray. الدوال get تجلب الدالة get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ الدالة iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set تضبط الدالة set() قيمة عنصر ذي ...
الصنف BooleanArray في Kotlin
يمثل الصنف BooleanArray مصفوفةً من القيم المنطقية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []boolean. class BooleanArray
الدوال البانية init تنشئ الدالة BooleanArray() البانية مصفوفة جديدة من الصنف BooleanArray بحجم معين تحوي قيمًا منطقية محدَّدة أو القيمة false المنطقية. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة عنصر ذي فهرس محدد موجود ...
الصنف BooleanArray في Kotlin
يمثل الصنف BooleanArray مصفوفةً من القيم المنطقية. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []boolean. class BooleanArray
الدوال البانية init تنشئ الدالة BooleanArray() البانية مصفوفة جديدة من الصنف BooleanArray بحجم معين تحوي قيمًا منطقية محدَّدة أو القيمة false المنطقية. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة عنصر ذي فهرس محدد موجود ...
الصنف ByteArray في Kotlin
يمثل الصنف ByteArray مصفوفةً من البايتات. إن كانت منصة التشغيل المستهدفة هي JVM، فيمكن تمثيل نُسَخ هذا الصنف بالشكل []byte. class ByteArray
الدوال البانية <int> تنشئ الدالة ByteArray() البانية مصفوفة جديدة من النوع ByteArray (أي حجم كل عنصر منها بايتًا واحدًا) بحجم معين، إذ تحوي قيمًا محدَّدة أو القيم 0. الخاصيات size تمثِّل الخاصيّة size عدد العناصر الموجودة في المصفوفة ذات النوع ByteArray. الدوال get يجلب التابع get() عنصرًا ذي فهرس محدد من المصفوفة. iterator ينشئ التابع iterator() عنصرًا تكراريًّا (iterator) لتكرار بنيةٍ (block) برمجيةٍ على كافّة عناصر المصفوفة المستدعاة معه. set يضبط التابع set() قيمة ...
التحكم بالتدفق (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
// ...
الواجهة 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). الدوال ...
الدالة 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(
...
التابع Enumerable.collect في روبي
يعيد التابع collect مصفوفة جديدة تحوي نتائج تنفيذ الكتلة المعطاة دفعةً واحدةً مع كل عنصر من عناصر المُعدِّد الذي استدعي معه. إن لم تُعطَ أية كتلة، فسيعيد التابع كائنًا من النوع Enumerator. البنية العامة collect { |obj| block } → array
collect → an_enumerator
القيمة المعادة تعاد مصفوفة تحوي نتائج تنفيذ الكتلة المعطاة دفعةً واحدةً مع كل عنصر من عناصر المُعدِّد المعطى، أو يعاد كائن من النوع Enumerator إن لم تُعطَ أية كتلة. أمثلة مثال على استعمال التابع collect: (1..4).map { |i| ...
التابع Array.collect! في روبي
يستدعي التابع !collect كتلة برمجية محددة مع كل عنصر من عناصر مصفوفة ثم يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي استدعيت معه. إن لم يمرَّر أي شيء إلى هذا التابع، فسيعيد كائنا من النوع Enumerator. البنية العامة collect! {|item| block } → ary
collect! → Enumerator
القيم المعادة تعاد المصفوفة نفسها المعطاة بعد تبديل القيمة الجديدة التي تعيدها الكتلة block عند تطبيقها على كل عنصر من عناصر تلك المصفوفة مكان القيمة القديمة لذلك العنصر، أو يعاد كائنٌ من ...
التابع Array.collect في روبي
يستدعي التابع collect كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يعيد مصفوفة جديدة تحوي القيم التي تعيدها تلك الكتلة. إن لم يمرَّر أي شيء إلى هذا التابع، فسيعيد كائنًا من النوع Enumerator. البنية العامة collect { |item| block } → new_ary
collect → Enumerator
القيم المعادة تعاد مصفوفة جديدة تحوي القيم التي تعيدها الكتلة block عند تطبيقها على كل عنصر من عناصر المصفوفة المعطاة، أو يعاد كائنٌ من النوع Enumeratorإن لم تمرَّر الكتلة block. أمثلة أمثلة على ...
المجموعات في رابط الكائنات بالعلاقات Eloquent
مقدمة إنّ جميع مجموعات النتائج المتعددة المعادة من Eloquent هي كائنات من الصنف Illuminate\Database\Eloquent\Collection، بما فيها النتائج المستردة من التابع get أو من العلاقات. يرث صنف مجموعة Eloquent من الصنف الأساسي لمجموعة Laravel، وبالتالي ترث هذه المجموعات الكثير من التوابع التي تساعد بالعمل مع المصفوفات المستخدمة مع نماذج Eloquent. بالطبع، تعمل جميع المجموعات كمكررات، مما يمكّنك من المرور على عناصرها وكأنها مصفوفات عادية: $users = App\User::where('active', 1)->get();
foreach ($users as $user) {
echo $user->name;
}
لكنّ المجموعات أقوى بكثير من المصفوفات، إذ تزود الكثير ...
الدالة lastIndexOf() في Kotlin
تجلب الدالة lastIndexOf() فهرس آخر ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة lastIndexOf() مع المصفوفات، والمجموعات والقوائم: fun <T> Array<out T>.lastIndexOf(element: T): Int
fun ByteArray.lastIndexOf(element: Byte): Int
fun ShortArray.lastIndexOf(element: Short): Int
fun IntArray.lastIndexOf(element: Int): Int
fun LongArray.lastIndexOf(element: Long): Int
fun FloatArray.lastIndexOf(element: Float): Int
fun DoubleArray.lastIndexOf(element: Double): Int
fun BooleanArray.lastIndexOf(element: Boolean): Int
fun CharArray.lastIndexOf(element: Char): Int
fun <T> Iterable<T>.lastIndexOf(element: T): Int
fun <T> List<T>.lastIndexOf(element: T): Int
القيم المعادة يعاد فهرس آخر ظهور للعنصر المعطى والموجود في المصفوفة أو المجموعة أو القائمة المعطاة، أو القيمة -1 إن لم ...
الدالة 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) ...
الدالة singleOrNull() في Kotlin
تتحقَّق الدالة singleOrNull() من حواية المصفوفة أو المجموعة أو القائمة التي استُدعيت معها عنصرًا واحدًا فقط، أو عنصرًا واحدًا محققًا لشرط معيَّن ثمَّ تعيده، أو تعيد القيمة null خلاف ذلك. البنية العامة إن استدعيت الدالة singleOrNull() مع مصفوفة أو مجموعة أو قائمة دون تمرير أي معامل، فستتحقَّق من احتواء تلك المصفوفة أو المجموعة أو القائمة على عنصر واحد فقط ثمَّ تعيده. وفي حال كانت تلك المصفوفة أو المجموعة أو القائمة فارغةً أو تحوي أكثر من عنصر واحد، فستعيد الدالة singleOrNull() القيمة null: fun <T> Array<out T>.singleOrNull(): T? ...
الدالة 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>>
القيمة المعادة تعاد قائمتين؛ تحتوي الأولى على القيم الأولى لكل زوج من أزواج المصفوفة أو المجموعة التكرارية المعطاة وتحتوي الثانية على القيم الثانية لكل ...
الدالة elementAtOrNull() في Kotlin
تجلب الدالة elementAtOrNull() عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة القيمة العدمية null. البنية العامة يمكن استدعاء الدالةelementAtOrNull() مع المصفوفات: inline fun <T> Array<out T>.elementAtOrNull(index: Int): T?
inline fun ByteArray.elementAtOrNull(index: Int): Byte?
inline fun ShortArray.elementAtOrNull(index: Int): Short?
inline fun IntArray.elementAtOrNull(index: Int): Int?
inline fun LongArray.elementAtOrNull(index: Int): Long?
inline fun FloatArray.elementAtOrNull(index: Int): Float?
inline fun DoubleArray.elementAtOrNull(index: Int): Double?
inline fun BooleanArray.elementAtOrNull(index: Int): Boolean?
inline fun CharArray.elementAtOrNull(index: Int): Char?
ومع ...
الدالة sortedBy() في Kotlin
ترتِّب الدالة sortedBy() جميع عناصر المصفوفة أو المجموعة التكرارية (Iterable) التي استُدعيت معها تصاعديًّا وفقًا للقيم التي تعيدها الدالة المُمرّرة إليها عند تطبيقها على كل عنصر ثمَّ تضع الناتج في قائمة. البنية العامة inline fun <T, R : Comparable<R>> Array<out T>.sortedBy(
crossinline selector: (T) -> R?
): List<T>
inline fun <R : Comparable<R>> ByteArray.sortedBy(
crossinline selector: (Byte) -> R?
): List<Byte>
inline fun <R : Comparable<R>> ShortArray.sortedBy(
crossinline selector: (Short) -> R?
): List<Short>
inline fun <R ...
الدالة foldIndexed() في Kotlin
تجمع الدالة foldIndexed() ناتج تطبيق عملية معينة على قيمة كل عنصر من عناصر المصفوفة أو المجموعة (بدءًا من اليسار إلى اليمين) المستدعاة معها وفهرس ذلك العنصر بشكل تراكمي بالإضافة إلى القيمة الأولية إن أعطيت. البنية العامة يمكن استدعاء الدالة foldIndexed() مع المصفوفات: inline fun <T, R> Array<out T>.foldIndexed(
initial: R,
operation: (index: Int, acc: R, T) -> R
): R
inline fun <R> ByteArray.foldIndexed(
initial: R,
operation: ...
الدالة sortedWith() في Kotlin
ترتِّب الدالة sortedWith() جميع عناصر المصفوفة أو المجموعة التكرارية التي استُدعيت معها وفقًا للمُقارِن المُمرّر إليها ثمَّ تضع الناتج في قائمة. البنية العامة fun <T> Array<out T>.sortedWith(
comparator: Comparator<in T>
): List<T>
fun ByteArray.sortedWith(
comparator: Comparator<in Byte>
): List<Byte>
fun ShortArray.sortedWith(
comparator: Comparator<in Short>
): List<Short>
fun IntArray.sortedWith(
comparator: Comparator<in Int>
): List<Int>
fun LongArray.sortedWith(
comparator: Comparator<in Long>
): List<Long>
fun FloatArray.sortedWith(
comparator: Comparator<in Float>
): List<Float>
fun DoubleArray.sortedWith(
...
الدالة toMutableSet() في Kotlin
تحول الدالة toMutableSet() المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوع MutableSet؛ تحافظ المجموعة المُعادة على نفس ترتيب تكرار المصفوفة أو المجموعة التكرارية الأصلية. البنية العامة يمكن استدعاء الدالة toMutableSet() مع المصفوفات والمجموعات التكرارية: fun <T> Array<out T>.toMutableSet(): MutableSet<T>
fun ByteArray.toMutableSet(): MutableSet<Byte>
fun ShortArray.toMutableSet(): MutableSet<Short>
fun IntArray.toMutableSet(): MutableSet<Int>
fun LongArray.toMutableSet(): MutableSet<Long>
fun FloatArray.toMutableSet(): MutableSet<Float>
fun DoubleArray.toMutableSet(): MutableSet<Double>
fun BooleanArray.toMutableSet(): MutableSet<Boolean>
fun CharArray.toMutableSet(): MutableSet<Char>
fun <T> Iterable<T>.toMutableSet(): MutableSet<T>
القيمة المعادة تعاد مجموعة من النوع MutableSet تحوي جميع عناصر ...
الدالة filterIsInstanceTo() في Kotlin
تضيف الدالة filterIsInstanceTo() عناصر المصفوفة أو المجموعة المعطاة التي هي نسخةٌ (instance) من نوع أو صنفٍ معيّن إلى المجموعة المتغيرة destination المُمرّرة إليها. البنية العامة inline fun <reified R, C : MutableCollection<in R>> Array<*>.filterIsInstanceTo(
destination: C
): C
inline fun <reified R, C : MutableCollection<in R>> Iterable<*>.filterIsInstanceTo(
destination: C
): C
يمكن تمرير معامل klass إلى الدالة filterIsInstanceTo(): fun <C : MutableCollection<in R>, R> Array<*>.filterIsInstanceTo(
destination: C,
klass: Class<R>
): C
fun ...
الدالة mapIndexed() في Kotlin
تعيد الدالة mapIndexed() قائمةً تحوي ناتج تطبيق الدالة المُمرّرة إليها على فهرس وقيمة كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة mapIndexed() مع المصفوفات والمجموعات: inline fun <T, R> Array<out T>.mapIndexed(
transform: (index: Int, T) -> R
): List<R>
inline fun <R> ByteArray.mapIndexed(
transform: (index: Int, Byte) -> R
): List<R>
inline fun <R> ShortArray.mapIndexed(
transform: (index: Int, Short) -> R
): List<R>
inline fun <R> IntArray.mapIndexed(
...
الدالة isEmpty() في Kotlin
تتحقق الدالة isEmpty() إن كانت المصفوفة التي استُدعيت معها فارغةً أم لا. البنية العامة inline fun <T> Array<out T>.isEmpty(): Boolean
inline fun ByteArray.isEmpty(): Boolean
inline fun ShortArray.isEmpty(): Boolean
inline fun IntArray.isEmpty(): Boolean
inline fun LongArray.isEmpty(): Boolean
inline fun FloatArray.isEmpty(): Boolean
inline fun DoubleArray.isEmpty(): Boolean
inline fun BooleanArray.isEmpty(): Boolean
inline fun CharArray.isEmpty(): Boolean
وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). القيم المعادة تُعاد القيمة true إن كانت المصفوفة المعطاة فارغةً، أو القيمة false خلاف ...
الدالة minBy() في Kotlin
تجلب الدالة minBy() العنصر أو الزوج الأول من المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها والذي أعيدت معه أصغر قيمة عند تطبيق دالة معيَّنة عليه. البنية العامة يمكن استدعاء الدالة minBy() مع المصفوفات و المجموعات والخرائط: inline fun <T, R : Comparable<R>> Array<out T>.maxBy(
selector: (T) -> R
): T?
inline fun <R : Comparable<R>> ByteArray.maxBy(
selector: (Byte) -> R
): Byte?
inline fun <R : Comparable<R>> ShortArray.maxBy(
selector: (Short) -> R
): ...
الدالة contentDeepEquals() في Kotlin
تتحقق الدالة contentDeepEquals() من تساوي مصفوفتين بالعُمق، أي أنهما تحتويان على نفس العناصر وبنفس الترتيب. إن تقابل عنصران وكان كلاهما مصفوفتين متشعبتين، فسيُتحقق من تساويهما بالعمق أيضًا بالطريقة ذاتها. وإن كانت إحدى المصفوفتين تحتوي على مرجع لها (تحتوي على نفسها) في أيّ مستوى من مستويات التشعب، فسيكون سلوك الدالة غير محدَّد. البنية العامة inline infix fun <T> Array<out T>.contentDeepEquals(
other: Array<out T>
): Boolean
الإصدار المطلوب: Kotlin 1.1 وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من ...
الدالة toSortedSet() في Kotlin
تحول الدالة toSortedSet() المصفوفة أو المجموعة التكرارية التي استُدعيت معها إلى مجموعة من النوع SortedSet ثمَّ تعيدها فقط إن لم يمرَّر إليها أي شيء، أو ترتِّبها وفقًا لترتيب معيَّن ثمَّ تعيدها إن مرِّرت إليها دالة مقارنة. البنية العامة يمكن استدعاء الدالة toSortedSet() مع المصفوفات أو المجموعات التكرارية: fun <T : Comparable<T>> Array<out T>.toSortedSet(): SortedSet<T>
fun ByteArray.toSortedSet(): SortedSet<Byte>
fun ShortArray.toSortedSet(): SortedSet<Short>
fun IntArray.toSortedSet(): SortedSet<Int>
fun LongArray.toSortedSet(): SortedSet<Long>
fun FloatArray.toSortedSet(): SortedSet<Float>
fun DoubleArray.toSortedSet(): SortedSet<Double>
fun BooleanArray.toSortedSet(): SortedSet<Boolean>
fun CharArray.toSortedSet(): SortedSet<Char>
fun <T : Comparable<T>> ...
الدالة contentEquals() في Kotlin
تتحقَّق الدالة contentEquals() من تساوي مصفوفتين بنيويًا (structurally equal)، أي إن كان لهما نفس العناصر وبنفس العدد والترتيب. البنية العامة inline infix fun <T> Array<out T>.contentEquals(
other: Array<out T>
): Boolean
inline infix fun ByteArray.contentEquals(
other: ByteArray
): Boolean
inline infix fun ShortArray.contentEquals(
other: ShortArray
): Boolean
inline infix fun IntArray.contentEquals(
other: IntArray
): Boolean
inline infix fun LongArray.contentEquals(
other: LongArray
): Boolean
inline infix fun FloatArray.contentEquals(
other: ...
الدالة 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 ...
الدالة sortWith() في Kotlin
ترتِّب الدالة sortWith() جميع عناصر المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها أو جزءًا محدَّدًا منها تنازليًا وفقًا للمُقارن المُمرّر إليها. البنية العامة إن استدعيت الدالة sortWith() مع تمرير مقارِن comparator، فسترتِّب جميع عناصر المصفوفة أو القائمة المتغيرة التي استُدعيت معها وفقًا للترتيب الذي يحدده هذا المقارن المعطى: fun <T> Array<out T>.sortWith(comparator: Comparator<in T>)
fun <T> MutableList<T>.sortWith(comparator: Comparator<in T>)
أمَّا إن استدعيت الدالة مع تمرير مقارِن comparator والعددين fromIndex و toIndex، فسترتب المجال الذي يحدده هذين العددين من المصفوفة التي استُدعيت ...
الدالة groupBy() في Kotlin
تجمِّع الدالة groupBy() عناصر المصفوفة أو المجموعة التي استُدعيت معها في مجموعات، إذ تطبق دالة محدَّدة على كل عنصر ثمَّ تعاد خريطة تحوي مجموعاتٍ مفتاحُ كلِّ واحدةٍ منها مرتبطٌ بقائمة من العناصر المقابلة. تحافظ الخريطة المُعادة على على ترتيب التكرار (entry iteration order) للمفاتيح الناتجة عن المصفوفة أو المجموعة الأصلية. البنية العامة إن مُرِّر إلى الدالة groupBy() المعامل keySelector فقط، فستُجمّع عناصر المصفوفة أو المجموعة المعطاة بحسب المفتاح الذي تعيده الدالة keySelector() المطبقة على كل عنصر من تلك العناصر ثمَّ ...
الدالة 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>
القيم المعادة تُعاد قائمة تحتوي على عناصر المصفوفة ...
عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).