نتائج البحث

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

JavaScript/Topics/Expressions and Operators

هذا القسم فيه ما يتعلق بالتعابير والمعاملات في JavaScript. التعابير الأساسية وهي تتضمن التعابير والكلمات المحجوزة العامة في JavaScript. this تُحدَّد قيمة الكلمة المحجوزة this وفق طريقة استدعاء الدالة. function (تعبير تعريف الدوال) الكلمة المحجوزة function تُستخدَم لتعريف دالة داخل تعبير (expression). انظر إلى صفحة «الدوال في JavaScript» للمقارنة بين صيغ تعريف الدوال. class (تعبير تعريف الأصناف) الكلمة المحجوزة class تشير إلى تعبير تعريف للأصناف. function*‎ (تعبير تعريف الدوال المولدة) الكلمة المحجوزة function*‎ تُستخدَم لتعريف دالة مولِّدة داخل تعبير. انظر إلى صفحة «الدوال في JavaScript» ...

التصريح عن الكائنات (Object Declarations) وتعابيرها (Expressions) في لغة Kotlin

قد تحتاج في بعض الأحيان لإنشاء كائنٍ بإجراء تعديلاتٍ طفيفةٍ على أحد الأصناف (classes) بدون التصريح عن صنفٍ فرعيٍّ (subclass) له؛ تعالج لغة Java مثل هذه الحالات بالاعتماد على الأصناف الداخليّة المجهولة (anonymous inner classes)، وتُعمِّمها لغة Kotlin من خلال طرح مفهوم التصريح عن الكائنات وتعابيرها. تعابير الكائنات (Object Expressions) لإنشاء كائنٍ من صنفٍ مجهولٍ (anonymous) يرِث من نوعٍ أو أكثر تكون الشيفرة بالشكل: window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { ...

توحيد التعبير الشرطي (Consolidate Conditional Expression)

المشكلة وجود عدة شروط تؤدي إلى نفس النتيجة أو الإجراء. الحل توحيد جميع هذه الشروط في تعبير وحيد. مثال قبل إعادة التصميم وجود عدة شروط يتم التحقق منها في الشيفرة: في لغة Java: double disabilityAmount() { if (seniority < 2) { return 0; } if (monthsDisabled > 12) { return 0; } if (isPartTime) { return 0; } // حساب مقدار العجز //... } في ...

تبسيط التعابير الشرطية (Simplifying Conditional Expressions)

تزداد البنية المنطقية للشروط تعقيدًا مع مرور الوقت، لذا هنالك الكثير من التقنيات لمواجهة هذا التعقيد وتبسيطه وهي: تجزئة الشَرطيات (Decompose Conditional) المشكلة: يوجد شَرط مُعقد (if-then/else أو switch). الحل: فصل الأجزاء المعقدة من الشَرط إلى توابع منفصلة: الشرط، و then و else. توحيد التعبير الشرطي (Consolidate Conditional Expression) المشكلة: وجود عدة شروط تؤدي إلى نفس النتيجة أو الإجراء. الحل: توحيد جميع هذه الشروط في تعبير وحيد. توحيد الأجزاء الشرطية المكررة (Consolidate Duplicate Conditional Fragments) المشكلة: شيفرة برمجية متطابقة موجودة في جميع فروع الشَرطيات. الحل: ...

الدالة Regex_1 في Kotlin

أصبحت الدالة Regex_1 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة مع استعمال الخيارات الافتراضية. البنية العامة fun Regex_1(pattern: String): Regex (source) المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للقيمة الافتراضية للخيارات. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة findAll()‎: تبحث عن جميع المحارف المتطابقة مع التعبير النمطي الذي استُدعي معها في سلسلة المحارف الممرَّرة ...

الدالة Regex_0 في Kotlin

أصبحت الدالة Regex_0 مهملة، إذ كانت متوافرة من أجل التوافقية الثنائية (binary compatibility). تنشئ هذه الدالة تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية والخيارات المُمرّرة إليها. البنية العامة fun Regex_0(pattern: String, option: RegexOption): Regex منصة التشغيل المطلوبة: JS. المعاملات pattern سلسلة نصية تمثل النمط الذي سينشأ منه تعبير نمطي. option كائن من النوع RegexOption يحوي خيارًا واحدًا من خيارات التعابير النمطية. القيم المعادة يعاد كائن من النوع Regex يحتوي على التعبير النمطي pattern بعد ضبطه وفقًا للخيار option. انظر أيضًا الدالة Regex()‎: تنشئ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الدالة containsMatchIn()‎: تتحقق ...

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

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

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

يمثل الصنف Regex تعبيرًا نمطيا قابلًا للتعديل (immutable regular expression). إن أردت الاطلاع على المزيد من المعلومات المتعلقة بصياغة النمط (pattern)، انتقل إلى صفحة الصنف Pattern. actual class Regex : Serializable الدوال البانية <init> تنشئ الدالة Regex()‎ تعبيرًا نمطيًا (regular expression) انطلاقًا من السلسلة النصية المُمرّرة إليه. الخاصيات options تمثل هذه الخاصية مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. pattern تمثل هذه الخاصية النمط الأولي الذي استُخدم في إنشاء التعبير النمطي الذي استُدعي معها. الدوال containsMatchIn ...

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

الدالة reflect()‎ هي واجهة برمجية (API) تجريبية؛ إن استدعيت مع تعبير تعريف دالة (function expression) أو تعبير lambda، فستعيد نسخةً من KFunction تزودنا بالإمكانيات الداخلية (introspection capabilities) لتعبير تعريف الدالة أو تعبير lambda ذاك المعطى وعن معاملاته. ليست جميع الميزات مدعومةً في الوقت الحالي، تحديدًا KCallable.call و KCallable.callBy. البنية العامة fun <R> Function<R>.reflect(): KFunction<R>? منصة التشغيل المطلوبة: JVM. انظر أيضًا الواجهة Function. الدوال من المرتبة الأعلى (Higher-Order Functions) و تعابير Lambdas. مصادر صفحة الدالة ()reflect في التوثيق الرسميّ للمكتبة القياسيّة في لغة ...

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

تمثل الواجهة Function قيمةً لنوع وظيفي (functional type) -مثل تعبير lambda-، أو دالة مجهولة، أو مرجع دالة. interface Function<out R> إذ يعيد المعامل R نوع الدالة. الدوال الموروثة equals تتحقق الدالة equals()‎ إذا ما كان الكائن المُمرّر إليها يساوي الكائن الذي استدعيت معه. وأيُّ تعريف لاستخدام هذه الدالة يجب أن يكون: hashCode تعيد الدالة hashCode()‎ الشيفرة Hash الخاصّة بالكائن الذي استُدعي معها. تُحقِّق هذه الدالة الشرطين الآتيين دائمًا: toString تحول الدالة toString()‎ الكائن الذي يُستدعى معه إلى سلسلة نصية (String). الدوال الإضافية (Extension Functions) reflect ...

الخاصية Regex.pattern في Kotlin

تمثل الخاصية Regex.pattern النمط الذي استعمل في إنشاء التعبير النمطي الذي استُدعي معها. البنية العامة actual val pattern: String القيمة المعادة تعاد سلسلة نصية تمثل النمط الذي استعمل في إنشاء التعبير النمطي المعطى. أمثلة استعمال الخاصية Regex.pattern مع تعبير نمطي لمعرفة النمط الأولي الذي استعمل في إنشائه -باستعمال الدالة Regex()‎-: fun main(args: Array<String>) { val reg = Regex("""-?\d+(\.\d+)?""") print(reg.pattern ) // -?\d+(\.\d+)? } انظر أيضًا الخاصية Regex.options: تمثل مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير ...

الخاصية Regex.options في Kotlin

تمثل الخاصية Regex.options مجموعةَ الخيارات التي استُخدمت في إنشاء التعبير النمطي الذي استُدعي معها. البنية العامة actual val options: Set<RegexOption> القيمة المعادة تعاد مجموعةٌ تحوي جميع الخيارات التي استعملت في ضبط التعبير النمطي المعطى أثناء إنشائه. أمثلة استعمال الخاصية options مع تعبير نمطي لمعرفة الخيارات التي استعملت في ضبطه عند إنشائه -باستعمال الدالة Regex()‎-: fun main(args: Array<String>) { val reg = Regex("""-?\d+(\.\d+)?""", RegexOption.UNIX_LINES) print(reg.options) // [UNIX_LINES] } انظر أيضًا الخاصية Regex.pattern: تمثل النمط الأولي الذي ...

الدالة Regex.matchEntire()‎ في Kotlin

تحاول الدالة matchEntire()‎ مطابقة جميع محارف السلسلة الممررة إليها مع التعبير النمطي الذي استدعي معها. البنية العامة actual fun matchEntire(input: CharSequence): MatchResult? المعاملات input سلسلة المحارف التي يراد تطابق جميع محارفها مع التعبير النمطي المعطى. القيمة المعادة تعاد نسخةٌ من الصنف MatchResult تحتوي على جميع محارف المعامل input إن تطابقت جميع تلك المحارف مع التعبير النمطي المعطى، أو تعاد القيمة null خلاف ذلك. أمثلة استعمال الدالة matchEntire()‎ لمعرفة سلسلة المحارف المطابقة للتعبير النمطي ‎-?\d+(\.\d+)?‎ بشكل كامل: fun main(args: Array<String>) { ...

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

تضيف الدالة toMutableList()‎ كل محارف سلسلة المحارف التي استٌدعيت معها إلى قائمة متغيرة، إذ يوضع كل محرف في عنصر. البنية العامة fun CharSequence.toMutableList(): MutableList<Char> القيم المعادة تعاد قائمة متغيرة جديدة تحوي جميع محارف السلسلة المعطاة. أمثلة مثالٌ على استعمال الدالة toMutableList()‎: fun main(args: Array<String>) { println("Hello, world!".toMutableList()) // [H, e, l, l, o, ,, , w, o, r, l, d, !] println("Hsoub".toMutableList()) // [H, s, o, u, b] println("114".toMutableList()) // [1, ...

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

الدالة Regex.matches()‎ في Kotlin

تتحقق الدالة matches()‎ من مطابقة جميع محارف السلسلة الممررة إليها مع التعبير النمطي الذي استدعي معها. البنية العامة infix actual fun matches(input: CharSequence): Boolean وجود الكلمة المفتاحية infix يدل على إمكانية استدعاء الدالة بنمط التدوين الداخلي (Infix notation)؛ أي من خلال حذف المعامل . والأقواس () المُستخدَمَين في الاستدعاء عادةً. المعاملات input سلسلة من المحارف التي يراد أن يُتحقَق من مطابقتها كلِّيًا لتعبير نمطي معين. القيمة المعادة تعاد القيمة true إن تطابقت جميع محارف السلسلة input مع التعبير النمطي المعطى. أمثلة استعمال الدالة matches()‎ للتحقق من مطابقة ...

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

تضيف الدالة toSortedSet()‎ كل محارف السلسلة  التي استٌدعيت معها إلى مجموعة من النوع SortedSet، إذ يوضع كل محرف في عنصر. البنية العامة fun CharSequence.toSortedSet(): SortedSet<Char> منصة التشغيل المطلوبة: JVM. القيم المعادة تعاد مجموعة جديدة من النوع SortedSet تحوي جميع محتويات أمثلة مثالٌ على استعمال الدالة toSortedSet()‎: fun main(args: Array<String>) { println("Hello, world!".toSortedSet()) // [ , !, ,, H, d, e, l, o, r, w] println("Hsoub".toSortedSet()) // [H, b, o, s, u] println("114".toSortedSet()) ...

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

تضيف الدالة toSet()‎ كل محارف سلسلة الحروف  التي استٌدعيت معها إلى مجموعة من النوع Set، إذ يوضع كل محرف في عنصر. تحافظ المجموعة المُعادة على ترتيب التكرار (element iteration order) في سلسلة المحارف الأصلية. البنية العامة fun CharSequence.toSet(): Set<Char> القيم المعادة تعاد مجموعة من النوع Set تحوي كل محارف السلسلة المعطاة. أمثلة مثالٌ على استعمال الدالة toSet()‎: fun main(args: Array<String>) { println("Hello, world!".toSet()) // [H, e, l, o, ,, , w, r, d, !] ...

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

تعيد الدالة toHashSet()‎ كائنًا من النوع HashSet يحوي كل محارف السلسلة التي استٌدعيت معها. البنية العامة fun CharSequence.toHashSet(): HashSet<Char> القيم المعادة يعاد كائن من النوع HashSet يحوي كل محارف السلسلة المعطاة. أمثلة مثالٌ على استعمال الدالة toHashSet()‎: fun main(args: Array<String>) { println("hsoub".toHashSet()) // [h, b, s, u, o] println("32.87".toHashSet()) // [8, 2, 3, ., 7] println("wiki".toHashSet()) // [i, k, w] } ...

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

تحول الدالة toRegex()‎ السلسلة النصية التي استٌدعيت معها إلى تعبير نمطي (regular expression). البنية العامة inline fun String.toRegex(): Regex inline fun String.toRegex(option: RegexOption): Regex inline fun String.toRegex(options: Set<RegexOption>): Regex يُلاحَظ وجود الكلمة المفتاحية inline للدلالة على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات option كائن من النوع RegexOption يمثل الخيارات التي ستستعمل في ضبط التعبير النمطي عند التحويل. options مجموعة تحوي كائنات من النوع RegexOption يمثل الخيارات التي ستستعمل في ضبط التعبير النمطي عند التحويل. القيم المعادة يعاد تعبير نمطي ...

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