نتائج البحث

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

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

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

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

التابع match.start()‎ في بايثون

يعيد هذا التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. البنية العامة match.start([group]) المعاملات group المجموعة التي سيستخدمها التابع لمطابقة السلسلة النصية معها. يأخذ المعامل group القيمة الافتراضية 0 (أي أن التطابق حصل في السلسلة النصية الفرعية بأكملها). القيمة المعادة يعيد التابع موقع بداية السلسلة الفرعية التي طوبقت بواسطة المجموعة الممرّرة. ويعيد التابع القيمة ‎-1 إن كانت المجموعة موجودة ولكنّها لا تساهم في حالة التطابق. لو فرضنا وجود كائن تطابق m ومجموعة g تساهم في حالة التطابق، فإن ...

الأصناف الواسعة (Large Classes)

توصيف المشكلة احتواء الصنف (class) العديدَ من الحقول (fields) والتوابع (methods) وشيفرةً بأسطرَ كثيرةٍ. أسبابها تبدأ الأصناف صغيرةً ليزداد حجمها مع استمرار تطوُّر البرنامج (كما الحال بالتوابع الطويلة) لأنَّ المبرمج يرى أنَّ إضافة ميِّزاتٍ (features) جديدةٍ في صنفٍ موجودٍ مسبقًا أكثر سهولةً من إنشاء أصنافٍ جديدةٍ مخصَّصةٍ لها. وما الحل؟ الحل بسيطٌ جدًا؛ وهو تقسيم الصنف، وذلك بإحدى الوسائل الآتية: إنشاء صنفٍ جديدٍ (Extract Class) إن كان من الممكن فصلُ بعض مهامّ الصنف الحاليّ ونقلها للصنف الجديد. إنشاء صنفٍ فرعيٍّ ...

JavaScript/Topics

الكائنات العامة في هذا القسم جميع الكائنات العامة المُضمَّنة في لغة JavaScript، إضافةً إلى جميع الخاصيات والدوال التابعة لها. الخاصيات العامة هذه الخاصيات العامة تُعيد قيمةً بسيطةً، فهي لا تُمثِّل دوالًا أو خاصياتٍ تابعة لأحد الكائنات. Infinity NaN undefined null الدوال العامة هذه الدوال العامة -أي التي تستدعى في النطاق العام بدل استدعائها على كائن بعينه- تُعيد نتائجها إلى التعبير البرمجي الذي استدعاها. eval()‎‎ isFinite()‎ isNaN()‎ parseFloat()‎ parseInt()‎ decodeURI()‎ decodeURIComponent()‎ encodeURI()‎ encodeURIComponent()‎ escape()‎ unescape()‎ الكائنات الأساسية هذه هي الكائنات الأساسية ...

الوحدات في TypeScript

ملاحظة حول المصطلحات تغيّرت طريقة استخدام المصطلحات في النسخة TypeScript 1.5، إذ كانت مجالات الأسماء (namespaces) تُسمّى قديمًا بمصطلح "الوحدات الداخليّة (internal modules)"، وما كان يُسمّى بالوحدات الخارجيّة (External modules) أصبح يُسمّى ببساطة بمصطلح "الوحدات (modules)" وهو ما سنغطّيه في هذه الصفحة. ويجب استخدام الكلمة المفتاحية ‎namespace‎ في الأماكن التي كانت تُستخدَم فيها الكلمة المفتاحية ‎module‎ للتصريح عن وحدة داخليّة في النسخ التي سبقت TypeScript 1.5، أي أنّ عليك استخدام ‎namespace X {‎ عوضًا عن ‎module X {‎ (انظر صفحة ...

الوحدة itertools‎ في بايثون

تقّدم الوحدة itertools مجموعة من الأدوات المُساعدة على بناء مُكرّرات مُشابهة لتلك المتوفّرة في لغات مثل APL، وHaskell وSML. بُني كلّ منها بطريقة تُناسب لغة بايثون. الأدوات المُتوفّرة سريعة وتستخدم الذّاكرة بشكل فعّال، وهي مُفيدة سواء بمُفردها أو عبر دمج بعضها ببعض. وعند دمجها مع بعض، تُشكّل "جبرَ مُكرّرات” تُعدّ وسيلة يُمكن استعمالها لإنشاء أدوات أكثر تخصّصًا بشكل فعّال باستخدام بايثون فقط دون الحاجة إلى أيّة لغة برمجيّة أخرى. تُوفّر لغة SML مثلًا الدّالة tabulate‎(f)‎ التي تُنتج السّلسلة ‎f(0)‎,‎ ‎f(1)‎,‎ ...

عوامل المصفوفات في PHP

المثال الاسم النتيجة ‎$a + $b الاندماج اندماج ‎$a و ‎$b. ‎$a == $b المساواة TRUE إن كان ‎$a و ‎$b يمتلكان نفس أزواج مفتاح/قيمة. ‎$a === $b التطابق TRUE إن كان ‎$a و ‎$b يمتلكان نفس أزواج مفتاح/قيمة وبنفس الترتيب ومن نفس النوع. ‎$a != $b عدم المساواة TRUE إن كان ‎$a و ‎$b غير متساويين. ‎$a <> $b عدم المساواة TRUE إن كان ‎$a و ‎$b غير متساويين. ‎$a !== $b عدم التطابق TRUE إن كان ‎$a و ‎$b غير ...

الوحدة string في بايثون

تضمّ وحدة string عددًا من الثوابت والأصناف المفيدة في معالجة السلاسل النصية. وتدعم السلاسل النصية في بايثون مجموعة التوابع الخاصّة بالنوع str إلى جانب التوابع الخاصّة بالوحدة string. تقدّم الوحدة string الصنفين التاليين: الصنف Formatter: يتيح هذا الصنف من خلال توابعه إنشاء عمليات تنسيق السلاسل النصية جديدة وتخصيصها حسب الرغبة وبنفس الأسلوب المتّبع في الدالة الداخلية format()‎. الصنف Template: يقدّم هذا الصنف طريقة أبسط لإجراء عمليات الاستبدال في السلاسل النصية والموصوفة في PEP 292. حيث يمكن إجراء عمليات الاستبدال باستخدام ...

الدالة re.fullmatch()‎ في بايثون‎

تتحقّق الدالة ممّا إذا كانت السلسلة النصية بأكملها مطابقة للتعبير النمطي المعطى. البنية العامة re.fullmatch(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة إن طابقت السلسلة النصية بأكملها التعبير النمطي المعطى، فستعيد الدالة كائن match المقابل، وتعيد القيمة None إن لم تطابق السلسلة ...

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