نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
المجموعات (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> ...