نتائج البحث

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

المعامل ‎<=>‎‎ الخاص بالصنف Module في روبي

يجري المعامل <=> عملية الموازنة بين كائنين ثم يعيد الناتج الذي يشير إلى العلاقة بينهما. البنية العامة module <=> other_module→ -1, 0, +1, or nil‎ يجري المعامل <=> عملية الموزانة ثمَّ يعيد إحدى القيم ‎-1 أو 0 أو ‎+1 أو nil اعتمادًا على ما إذا كان module يتضمن other_module، أو كانا متساويين، أو إذا كان module متضمَّنًا في other_module. تعاد القيمة nil إن لم تكن بين module و other_module أية علاقة، أو إن لم يكن other_module وحدة من الصنف Module، أو ...

المعامل <=> الخاص بالصنف String في روبي

يُقارن المعامل <=> بين سلسلتين نصيتين ثم يعيد القيم 1-، أو 1، أو 0 إذا ما كانت السلسلة النصية الأولى أكبر أو أصغر أو تساوي السلسلة النصية الثانية على التوالي. يعيد المعامل القيمة nil إذا كانت القيمتين غير قابلتين للمقارنة. إذا اختلفت سلسلتين نصيتين في الطول، وكانتا متطابقتين حتى نقطة معينة، فإنَّ السلسلة الأطول من بعد هذه النقطة هي السلسلة الأكبر. البنية العامة string <=> other_string → -1, 0, +1, or nil المعاملات str السلسلة النصية الأولى. other_str السلسلة النصية ...

المعامل &‎ الخاص بالصنف TrueClass في روبي

يجري المعامل & العملية AND المنطقية على القيمة true وقيمة الكائن المعطى، ويُعيد القيمة false إن كان الكائن يساوي nil أو false. البنية العامة true & obj → true or false‎ القيمة المعادة تعاد القيمة false إن كان obj يساوي nil أو false، أو تعاد القيمة true خلاف ذلك. انظر أيضًا المعامل |: يجري العملية OR المنطقية على القيمة true وقيمة الكائن المعطى ويُعيد القيمة true دومًا.   المعامل ^: يجري العملية XOR المنطقية على القيمة true وقيمة الكائن المعطى ويعيد ...

المعامل + الخاص بالصنف Complex في روبي

يجري المعامل ‎+ عملية الجمع بين عددين عقديين. البنية العامة cmp + numeric → complex المعاملات cmp عدد عقدي يمثل الطرف الأول في عملية الجمع. numeric عدد عقدي أو غير عقدي يمثل الطرف الثاني في عملية الجمع. القيمة المعادة يعاد عددٌ عقديٌ ناتج عن جمع العددين cmp و numeric. أمثلة أمثلة عن استخدام المعامل +: Complex(2, 3) + Complex(2, 3) #=> (4+6i) Complex(900) + Complex(1) #=> (901+0i) Complex(-2, 9) + Complex(-9, 2) ...

المعامل ^ الخاص بالصنف Integer في روبي

ينفذ المعامل ^ العملية XOR الثنائية بين بتات العددين المعطيين. البنية العامة int ^ other_int → integer القيمة المعادة يعاد عددٌ صحيحٌ يمثل ناتج تنفيذ العملية XOR على البتات المتقابلة في العددين int و other_int. أمثلة مثال على استخدام المعامل ^: 20 ^ 3 #=> 23 25 ^ 2 #=> 27 انظر أيضا المعامل &: ينفذ العملية AND بين بتات العددين المعطيين.  مصادر قسم المعامل ^ في الصنف Integer‎ في توثيق روبي ...

المعامل == الخاص بالصنف Float في روبي

يعيد المعامل == القيمة true إن كان العدد العشري الواقع على يساره يساوي القيمة الواقعة على يمينه. على خلاف التابع Numeric.eql?‎ الذي يشترط أن يكون القيمة الثانية الواقعة على يمين المعامل من النوع Float أيضًا. البنية العامة float == obj → true or false القيمة المعادة تعاد القيمة true إن كان العدد العشري float يساوي القيمة obj عدديًا. ملاحظة: نتيجة NaN == NaN غير مُعرَّفة، لذا تُعاد قيمة تعتمد على التنفيذ. أمثلة مثال على استخدام المعامل ==: 20 == 20 ...

المعامل ** الخاص بالصنف Float في روبي

يعيد المعامل **‎ ناتج عملية رفع عدد عشري (الأساس) إلى قوة عدد محدد (الأس). البنية العامة float ** other → float المعاملات float عدد عشري يمثل الطرف الأول (الأساس) في للعملية. other عدد يمثل الطرف الثاني (الأس) للعملية. القيمة المعادة يعاد عدد عشري يمثِّل ناتج عملية رفع المعامل float إلى قوة المعامل other. أمثلة مثال على استخدام التابع **‎: 2.0**3 #=> 8.0 انظر أيضا المعامل *: يعيد ناتج عملية الضرب بين عددين. التابع modulo: يعيد باقي عملية القسمة بين عدد عشري وعدد آخر. مصادر ...

المعامل ==‎ الخاص بالصنف Struct في روبي

يتحقق المعامل == إن كان لبنية ما نفس الصنف الفرعي ونفس قيم الأعضاء مقارنةً ببنية أخرى. البنية العامة struct == other → true or false‎ القيمة المعادة تُعاد القيمة true إن كان للبنية other نفس الصنف الفرعي، وكان لها نفس قيم الأعضاء مقارنة بالبنية struct، وإلا فستُعاد القيمة false. أمثلة مثال على استخدام المعامل ==‎: Customer = Struct.new(:name, :address, :zip) joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) joejr = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) jane ...

المعامل *‎ الخاص بالصنف Integer في روبي

يعيد المعامل *‎ ناتج عملية الضرب بين عددين. نوع الكائن الناتج يتعلق بنوع العدد الثاني الذي ستُجرَى عليه العملية. البنية العامة int * numeric → numeric_result  المعاملات int عدد صحيح يمثل الطرف الأول في للعملية. numeric  عدد يمثل الطرف الثاني للعملية. القيمة المعادة يعاد ناتج عملية الضرب بين العددين numeric و int. أمثلة مثال على استخدام المعامل *: 20 * 3 #=> 60 6 * 3.4 ...

المعامل ‎<‎‎ الخاص بالصنف Module في روبي

يعيد المعامل ‎<‎ القيمة true إن كانت الوحدة Module التي تقع على يساره صنفًا فرعيًّا من الوحدة التي تقع على يمينه، أو يعيد القيمة nil إن لم تكن بينهما أية علاقة (فكر في العلاقة من منظور تعريف الأصناف: "الصنف A < الصنف B" يستلزم "A < B"). البنية العامة mod < other→ true, false, or nil‎ القيمة المعادة تعاد القيمة true إن كان mod صنفًا فرعيًّا من other، أو تعاد القيمة nil إن لم تكن بينهما أي علاقة. خلا ذلك، ...

المعامل == الخاص بالصنف Hash في روبي

يتحقق المعامل == من تساوي كائنين من النوع Hash؛ أي يتحقق إذا كان كل منهما يحتوي على نفس العدد من المفاتيح وإذا كان كل زوج قيمة/مفتاح من أحد الكائنين يساوي الزوج المقابل له في الكائن الآخر (وفقًا للمعامل ==)‎. البنية العامة hsh == other_hash → true or false القيمة المعادة تعاد القيمة true إن كان الكائن hsh والكائن other_hash متساويين بغض النظر عن ترتيب الأزواج في كل منهما. أمثلة مثال على استعمال المعامل : h1 = { "a" => 1, "c" => ...

الاستثناءات (Exceptions) في لغة Kotlin

أصناف الاستثناءات (Exception Classes) تنحدر كلّ أصناف الاستثناءات في لغة Kotlin من الصنف Throwable حيث يوجد لكلِّ استثناءٍ رسالةٌ للإعلام به وتتبُّع تكديسي (stack trace) وسببٌ اختياريّ. ويُستخدَم التعبير throw لرمي كائن استثناءٍ بالشكل: throw MyException("Hi There!") أمّا تعبير try فهو مُستخدَمٌ لكشف الاستثناء كما في الشيفرة: try { // شيفرة } catch (e: SomeException) { // معالجات الاستثناء } finally { // قسم اختياريّ } ومن الممكن أن يحتوي الاستثناء أكثر من قسمٍ واحدٍ من catch أو ...

أصناف الثوابت المُتعدِّدة (Enum Classes) في لغة Kotlin

يتلخَّصُ الاستخدام الرئيسيّ لأصناف الثوابت المتعدَّدة في قدرتها على تعريف الاستخدام (implementing) للثوابت المتعدًّدة الحافظة للنوع (type-safe)، ويُصرَّح عنها بالشكل: enum class Direction { NORTH, SOUTH, WEST, EAST } إذ يُعدُّ كلُّ ثابتٍ فيها كائنًا (object)، ويُفصل فيما بينها بالفاصلة , . التهيئة (Initialization) لمّا كان كلّ ثابتٍ في صنف الثوابت المتعدِّدة (enum) يُعدُّ كائنًا فيمكن إجراء التهيئة كما يلي: enum class Color(val rgb: Int) { RED(0xFF0000), ...

التهيئة الأولية للصنف Enum في Kotlin

يعدُّ الصنف Enum الصنف الأساس لكل أصناف الترقيم (enum classes). إن أردت الاطلاع على معلومات أوسع حول أصناف الترقيم، فاقرأ هذا المرجع. البنية العامة Enum(name: String, ordinal: Int) المعاملات name سلسلة نصية. ordinal عدد صحيح. أمثلة في الشيفرة الآتية، ننشئ نسخة من الصنف Enum باسم ColorEnum مكونًا من أربعة ثوابت: Red و Blue و Green و Orange ثم نطبع قيمة الثابت Red: fun main(args: Array<String>) { print(ColorEnum.Red) // Red } enum class ColorEnum(val colorCode: Int) { Red(2), Blue(11212), Green(21212), ...

التهيئة الأولية للصنف Enum في Kotlin

يعدُّ الصنف Enum الصنف الأساس لكل أصناف الترقيم (enum classes). إن أردت الاطلاع على معلومات أوسع حول أصناف الترقيم، فاقرأ هذا المرجع. البنية العامة Enum(name: String, ordinal: Int) المعاملات name سلسلة نصية. ordinal عدد صحيح. أمثلة في الشيفرة الآتية، ننشئ نسخة من الصنف Enum باسم ColorEnum مكونًا من أربعة ثوابت: Red و Blue و Green و Orange ثم نطبع قيمة الثابت Red: fun main(args: Array<String>) { print(ColorEnum.Red) // Red } enum class ColorEnum(val colorCode: Int) { Red(2), Blue(11212), Green(21212), ...

أنواع البيانات (Data Types) في Kotlin

إن كلَّ عنصرٍ في Kotlin يعد كائنًا إذ يمكن استدعاء الدوال (member functions) والخاصّيّات (properties) عبر أي متغيِّر (variable)، ولبعض الأنواع تمثيلها الداخلي الخاص بها؛ فعلى سبيل المثال تُمثَّل الأعداد والمحارف والقيم المنطقية (boolean) كقيمٍ أساسيّةٍ أثناء التشغيل (runtime) ولكنها بالنسبة للمستخدم مجرّد أصنافٍ عادية، وتناقش هذه الصفحة الأنواع الرئيسيّة للبيانات في Kotlin وهي: الأعداد، والمحارف، والقيم المنطقية (boolean)، والمصفوفات، والسلاسل النصيّة. الأعداد (Numbers) تتعامل لغة Kotlin مع البيانات العدديّة بطريقةٍ مماثلةٍ للغة Java ولكن بفوارق بسيطة، فلا تدعم مثلًا ...

التهيئة الأولية للصنف ‎‎Array‎ في Kotlin

تنشِئ الدالة Array()‎ البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. البنية العامة Array(size: Int, init: (Int) -> T) المعاملات size عدد صحيح يمثل حجم المصفوفة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها. القيم المعادة مصفوفة بالحجم size تتكوّن من العناصر الناتجة عن الدالة init. أمثلة ينشِئ التابع في الشيفرة الآتية مصفوفةً بستة عناصر زوجيّة (نتيجة ضرب ...

التهيئة الأولية للصنف ‎‎Array‎ في Kotlin

تنشِئ الدالة Array()‎ البانية مصفوفةً بحجم size مُحدَّدٍ، حيث يُحسَب كلُّ عنصرٍ فيها عبر استدعاء الدالة init المُحدَّدة، والتي تُعيد عنصرًا في المصفوفة بحسب الفهرس (index) المُعطى. البنية العامة Array(size: Int, init: (Int) -> T) المعاملات size عدد صحيح يمثل حجم المصفوفة المراد إنشاؤها. init دالةٌ تستدعى لحساب قيمة كل عنصر من عناصر المصفوفة المراد إنشاؤها. القيم المعادة مصفوفة بالحجم size تتكوّن من العناصر الناتجة عن الدالة init. أمثلة ينشِئ التابع في الشيفرة الآتية مصفوفةً بستة عناصر زوجيّة (نتيجة ضرب ...

بنية البرمجة في لغة Kotlin

تعريف الحزم (Package) يُكتب توصيف الحزمة (package) في بداية الملف المصدريّ (source file) بالشكل الآتي: package my.demo import java.util.* // ... ولا يُشترط التوافق ما بين الحزمة (package) والمجلد الذي توجد فيه (directory)، إذ من الممكن أن تتوضع الملفات المصدريّة عشوائيًّا في نظام الملفات. المزيد عن الحزم (packages). تعريف الدوال (Function) إن كانت الدالة بمتحولين من نوع Int وتعيد قيمةً بنوع Int أيضًا، فسيصبح تعريفها بالشكل: fun sum(a: Int, b: Int): Int {   return a + b } أما الشيفرة الآتية فهي لتعريف دالةٍ باسم sum ...

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

تعيد الدالة associateBy()‎ خريطةً (map) مكونة من الأزواج "مفتاح/قيمة"، إذ يكون المفتاح (key) هو الناتج الذي تعيده الدالة keySelector الممررة إليها وتكون القيمة (value) المقابلة لذلك المفتاح هي إمَّا عناصر المصفوفة أو المجموعة المعطاة أو الناتج الذي تعيده الدالة valueTransform الممررة.  إن كان لعنصرين نفس المفتاح (key) بعد تطبيق الدالة keySelector، فإنَّ الأخير هو الذي سيُضاف إلى الخريطة. تحافظ الخريطة المُعادة على نفس ترتيب التكرار الخاص بالمصفوفة أو المجموعة الأصليَّة. البنية العامة إن استدعيت الدالة associateBy()‎مع مصفوفة، فستعيد خريطةً (map) ...

الواجهة ‎‎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). الدوال ...

الواجهة ‎‎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 تعيد هذه ...

الواجهة ‎‎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). الدوال ...

التحميل الزائد للمعاملات (Operator Overloading) في لغة Kotlin

تُتيح لغة Kotlin إجراءَ مجموعةٍ مُعرَّفة مسبقًا من العمليات على أنواع البيانات المختلفة وذلك باستخدام رموزٍ ثابتةٍ تعتمدها لغة Kotlin مثل الرمز + أو الرمز * وتختلف فيما بينها بالأولويّة (precedence)، حيث توجد دالةٌ (إما دالة من الصنف [member] أو دالة إضافيّة [extension]) باسمٍ ثابتٍ لكلّ معاملٍ مُعرَّف بحسب النوع (نوعٌ يساريٌّ للعمليات الثنائيّة [binary operations] ونوع وسائط [argument type] للعمليات الأحاديّة [unary operations])، ويجب تحديد الدوال التي تحتوي على تحميلٍ زائدٍ للمعاملات بالمُحدَّد operator، تناقش الصفحة الاصطلاحات (conventions) التي ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

أنماط الشيفرات المُتعارَف عليها ما بين مبرمجي Kotlin

تعرِض هذه الصفحة أنماط كتابة الشيفرات المُتعارَف عليها (conventions) من قِبل مبرمجي لغة Kotlin. تطبيق دليل التنسيق (Applying the Style Guide) لضبط المُنسِّق IntelliJ formatter بما يتوافق مع هذا الدليل يُنصَح بتثبيت إضافة Kotlin بالإصدار 1.2.20 (أو أي إصدارٍ أحدث) وضبط المّحرِّر بالانتقال إلى الإعدادات (Settings) ثمّ المُحرِّر (Editor) ثم نمط الشيفرة (Code Style) ثم Kotlin واختر "ضبط من..." Set from…"‎" في الزاوية اليمنى العُلويَّة ومن القائمة اختر الخيار Predefined style/Kotlin style guide. وللتأكد من تنسيق الشيفرة وفقًا لدليل Kotlin ...

الأصناف (Classes) والوراثة (Inheritance) في لغة Kotlin

تُستخدم الكلمة المفتاحيّة class للتصريح (declaration) عن الصنف بالصيغة الآتية (اسم الصنف Invoice): class Invoice { } ويحتوي التصريح على اسم الصنف (class name) وترويسة الصنف (class header) (والتي تُحدِّد معاملات النوع والباني الأساسيّ ...إلخ.) وبُنية الصنف (class body) محاطةً بالقوسين {}، وإن كلًا من ترويسة الصنف وبُنيته اختياريتان؛ فإذا كان الصنف خاليًا لا حاجة للأقواس، مثل: class Empty الباني (Constructor) يوجد لكلّ صنف في لغة Kotlin بانٍ رئيسيّ (primary) واحدٌ وبانٍ -أو أكثر- ثانويّ (secondary)، إذ يُعدُّ الباني الرئيسيّ جزءًا من ...

أصناف البيانات (Data Classes) في لغة Kotlin

تُنشَأ بعض الأصناف بهدف تخزين البيانات فيها بشكلٍ أساسيّ، وبالتالي فإنّ كلّ ما تقوم به هذه الأصناف من وظائف يرتبط بالبيانات، وهذا ما يُسمى بأصناف البيانات في لغة Kotlin وتُعرَّف بالمُحدِّد data كما يلي: data class User(val name: String, val age: Int) قواعد عامّة يقوم المُترجِم في الأصناف من هذه النوع باشتقاق العناصر (deriving members) الآتية من كلِّ الخاصّيّات المُعرَّفة في الباني الأساسيّ (primary constructor): كلًا من equals()‎ و hashCode()‎ الدالة toString()‎ بشكلها ‎"User(name=John, age=42‎)‎"‎ الدوال بالصيغة componentN() functions بما ...

التعابير الاصطلاحية (Idioms) في لغة Kotlin

تعرِض هذه الصفحة عددًا من التعابير الاصطلاحيّة المستخدَمة بكثرةٍ في لغة Kotlin، ولأيّ اصطلاحٍ جديدٍ لم يُذكَر فيمكنك تعديل هذه الصفحة لإضافته. إنشاء كائنات نقل البيانات DTO:‏ Data Transfer Objects (الكائنات POJO/POCO) ليكن الصنف (class) الآتي باسم Customer: data class Customer(val name: String, val email: String) وله التوابع الوظيفيّة (functional methods) الآتية: توابع getter (وتوابع setter في حالة المتحولات من النوع var) لكافة الخاصّيّات (properties) equals()‎ hashCode()‎ toString()‎ copy()‎ component1()‎ و component2()‎ ...إلخ. وذلك لكافة الخاصّيّات (properties) في الصنف (راجع أصناف البيانات ...

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

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

التحقق من الأنواع (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) يتتبَّع ...

الدوال (Functions) في لغة Kotlin

التصريح عن الدوال (Function Declarations) يُصرَّح عن الدوال في لغة Kotlin باستخدام الكلمة المفتاحيّة fun كما يلي: fun double(x: Int): Int { return 2 * x } استخدام الدوال (Function Usage) يكون استدعاء الدوال كما في أيّ لغة برمجةٍ أخرى بالشكل: val result = double(2) أمّا استدعاء الدوال من الأصناف فيعتمد على المعامل . كما في الشيفرة: Sample().foo() // إنشاء كائنٍ من الصنف واستدعاء الدالة عبره المعاملات (Parameters) تُعرَّف المعاملات بالصيغة المُعتمدَة في لغة Pascal وهي name: type ، ...

الثابتة DEFAULT_PARAMS الخاص بالصنف RubyVM في روبي

تعرض الثابتة DEFAULT_PARAMS وسائط الآلة الافتراضية (VM) الاولية (default ). لاحظ أنّ تغيير تلك القيم لا يؤثر على طريقة تشغيل الآلة الافتراضية. المواصفات ليست مستقرة، ويجب أن لا تعتمد على هذه القيمة. انظر أيضا صفحة الصنف RubyVM. صفحة الثابتة OPTS. مصادر قسم الثابتة DEFAULT_PARAMS في الصنف RubyVM‎ في توثيق روبي الرسمي.

معامل الفهرسة [] الخاص بالصنف Integer في روبي

يعيد معامل الفهرسة [] البت الموجودة عند الموضع n في التمثيل الثنائي للعدد الصحيح المعطى. يشير [0]int إلى البت الأقل أهمية (least significant bit). البنية العامة int[n] → 0, 1 القيمة المعادة يعاد البت الموجودة عند الموضع n في التمثيل الثنائي للعدد int؛ أي لا تتجاوز القيمة المعادة عن 1 أو 0. أمثلة مثال على استخدام معامل الفهرسة []: a = 0b11001100101010 30.downto(0) {|n| print a[n] } #=> 0000000000000000011001100101010 a = 9**15 50.downto(0) {|n| print a[n] } #=> 000101110110100000111000011110010100111100010111001 انظر أيضا المعامل >>: يزيح العدد الصحيح ...

الثابت PI الخاصة بالصنف Math في روبي

يمثل الثابت PI ثابت الدائرة pi (يرمز له رياضيًّا بالرمز π). هذا العدد هو عدد عشري ويساوي تقريبًا القيمة 3.14. البنية العامة Math::PI مثال مثال على استخدام الثابت PI: Math::PI #=> 3.141592653589793 انظر أيضا الثابت e: يمثل القيمة e الرياضية. مصادر قسم الثابتة PI في الصنف Math‎ في توثيق روبي الرسمي.

الثابتة IGNORECASE الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة IGNORECASE في الصنف Regexp‎ في توثيق روبي الرسمي.

معامل النفي - الخاص بالصنف Complex في روبي

يُستعمَل المعامل ‎- لنفي العدد العقدي (القيمة السالبة منه أن كان موجبًا). البنية العامة -cmp → complex المعاملات cmp العدد العقدي الذي سيُنفَى (يصبح سالبًا إن كان موجبًا). القيمة المعادة يعاد عددٌ عقديٌ ناتج عن نفي العدد العقدي cmp (سالبٌ إذا كان موجبًا أو العكس). أمثلة أمثلة عن استخدام معامل النفي ‎-: -Complex(1, 2) #=> (-1-2i) أنظر أيضًا المعامل ‎*: يجري عملية الضرب على الأعداد العقدية. المعامل **‎: يجري عملية الأسّ (exponentiation) على الأعداد العقدية. المعامل +‎ : يجري عملية الجمع على ...

التابع binding‎ الخاص بالصنف Kernel في روبي

يعيد التابع binding  كائنًا من النوع Binding، والذي يصف ويحدد ارتباطات المتغيرات والتوابع لحظة الاستدعاء. يمكن استخدام هذا الكائن عند استدعاء eval لتنفيذ الأمر الذي تم تقييمه (evaluated command) في هذه البيئة. البنية العامة binding → a_binding‎ القيمة المعادة يعاد كائنٌ من النوع Binding. أمثلة مثال على استخدام التابع binding‎: def get_binding(param) binding end b = get_binding("hello") eval("param", b) #=> "hello" ‎ انظر أيضا الصنف Binding. مصادر قسم التابع binding‎ في الصنف Kernel‎ في توثيق روبي الرسمي.

التابع ‎__method__‎‎ الخاص بالصنف Kernel في روبي

يعيد التابع __method__  الاسم الذي أعطي للتابع الحالي عند تعريفه على شكل رمز (Symbol). في حال استدعائه خارج أي تابع، فسيعيد nil. البنية العامة __method__→ symbol‎ القيمة المعادة يعاد الاسم الذي أعطي للتابع الحالي عند تعريفه على شكل رمز (Symbol). في حال استدعائه خارج أي تابع، فسيعيد nil. انظر أيضا التابع __callee__: يعيد اسم التابع الحالي على شكل رمز (Symbol). وفي حال استدعائه خارج أي تابع، فسيعيد nil. التابع __dir__: يعيد المسار المطلق الأساسي لمجلد الملف الذي استُدعي هذا التابع منه. مصادر ...

التابع print‎ الخاص بالصنف Kernel في روبي

يطبع التابع print الكائنات الممررة إليه بالتتابع على المجرى stdout$. إذا كان فاصل حقل الخرج (‎$,‎) يخالف nil، فسيظهر محتواه بين الحقول. إذا كان فاصل سجل الخرج (‎$\‎‎‎) يخالف nil، فسيوضع في نهاية المُخرجات. في حال لم تعطَ أية وسائط، فستُطبَع _$. ستُحول الكائنات غير النصية باستخدام التابع to_s. البنية العامة print(obj, ...) → nil‎ المعاملات obj‎ الكائن المراد طباعته. ...‎ كائنات أخرى. القيمة المعادة تعاد القيمة nil. أمثلة مثال على استخدام التابع print‎: print "cat", [1,2,3], 99, "\n" $, = ...

معامل التعيين [] الخاص بالصنف Array في روبي

يعيّن المعامل [] قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة. إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس start إن كانت قيمة الوسيط length تساوي 0. إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثِّل القيمة ‎-1 فهرس العنصر الأخير. بالنسبة للوسيطين ...

التابع Rational‎ الخاص بالصنف Kernel في روبي

يعيد التابع Rational ناتج العملية x/y إن مُرر عددين إليه أو عدد جذري (Rational) إن مُرِّر معامل وحيد فقط. قواعد الصياغة النصية: string form = extra spaces , rational , extra spaces ; rational = [ sign ] , unsigned rational ; unsigned rational = numerator | numerator , "/" , denominator ; numerator = integer part | fractional part | integer part , fractional part ; denominator = digits ; integer part = digits ; fractional part = "." , digits , [ ( "e" ...

معامل الفهرسة []‎ الخاص بالصنف MatchData في روبي

تتصرف الكائنات MatchData بشكل مشابه للمصفوفات، إذ يمكن الوصول إليها باستخدام تقنيات فهرسة المصفوفات العادية. التعبير mtch[0]‎ مكافئ للمتغير الخاص ‎‎$&‎، لذلك فهو يعيد كامل السلسلة النصية المُطابقة بينما تعيد التعابير mtch[1]‎ و mtch[2]‎ ...إلخ. قيم العناصر المتطابقة سابقًا (تدعى "المراجع الخلفية" [backreferences]) من أجزاء النمط الموجودة بين قوسين. البنية العامة mtch[i]→ str or nil mtch[start, length]→ array mtch[range] → array mtch[name]→ str or nil‎ القيمة المعادة يعيد التعبير mtch[0]‎ كامل السلسلة النصية المُطابقة بينما تعيد التعابير mtch[1]‎ و mtch[2]‎ ...إلخ. قيم ...

محدد أكثر من خاصية ‎‎‎[name="value"‎]‎ في jQuery

محدد أكثر من خاصية Multiple Attribute Selector الوصف يختار هذا المحدِّد العناصر التي تطابق جميع مرشِّحات خاصِّيَّة معينة. jQuery( "[attributeFilter1][attributeFilter2][attributeFilterN]" )‎ أُضيف مع الإصدار: 1.0. attributeFilter1 مرشِّح خاصِّيَّة. attributeFilter2 مرشِّح خاصِّيَّة آخر والذي يقلص العناصر المراد تحديدها. attributeFilter3 مرشِّح خاصِّيَّة آخر، ويمكن استعمال عددٍ من المرشِّحات بحسب الحاجة. أمثلة إيجاد جميع المدخلات التي تملك الخاصِّيَّة id وتنتهي قيمة الخاصِّيَّة name لها بالقيمة man ثمَّ ضبط قيمتها: <!doctype html> <html lang="ar"> <head> <meta charset="utf-8"> <title>attributeMultiple مثالٌ عن محدد الخاصيات المتعددة</title> ...

التابع loop‎ الخاص بالصنف Kernel في روبي

ينفذ التابع loop الكتلة البرمجية المعطاة بشكل متكرر. في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك. يؤدي اطلاق الاستثناء StopIteration داخل الكتلة إلى إيقاف الحلقة التكرارية. في هذه الحالة، سيعيد التابع loop قيمة "النتيجة" المخزنة في الاستثناء. البنية العامة loop { block } loop→ an_enumerator‎ القيمة المعادة يؤدي اطلاق الاستثناء StopIteration داخل الكتلة إلى إعادة قيمة "النتيجة" المخزنة في الاستثناء. أما في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف enumerator. أمثلة مثال على ...

التابع at_exit‎ الخاص بالصنف Kernel في روبي

يحول التابع at_exit  الكتلة البرمجية المعطاة إلى كائن من النوع Proc (وبالتالي يربطه في لحظة الاستدعاء) ويسجله لأجل تنفيذه عند نهاية البرنامج. في حالة تسجيل عدة معالجات (handlers)، فستٌنفّذ بترتيب معاكس لتسجيلها. البنية العامة at_exit { block } → proc‎ القيمة المعادة يعاد كائن من النوع Proc. أمثلة مثال على استخدام التابع at_exit‎: def do_at_exit(str1) at_exit { print str1 } end at_exit { puts "cruel world" } do_at_exit("goodbye ") exit الناتج: goodbye cruel world انظر أيضا التابع abort: ينهي التنفيذ على الفور عبر استدعاء Kernel.exit(false)‎. ...

التابع trace_var‎ الخاص بالصنف Kernel في روبي

يضبط (Controls) التابع trace_var تعقّبات (tracing) تعيين المتغيرات العامة. البنية العامة trace_var(symbol, cmd ) → nil trace_var(symbol) {|val| block } → nil‎ يحدد الوسيط المعطى symbol المتغير (إمَّا على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الأمر cmd (الذي قد يكون سلسلةً نصيةً أو كائن من النوع Proc أو كتلةً برمجيةً) كلما تم تعيين المتغير ثم تتلقى الكتلة أو الكائن Proc القيمة الجديدة للمتغير كوسيط. المعاملات symbol‎ يحدد المتغير. cmd‎ التعليمة المراد تنفيذها كلما تم تعيين المتغير. القيمة المعادة ...

الثابتة NOENCODING الخاصة بالصنف Regexp في روبي

انظر صفحتي التابعين options و new. مصادر قسم الثابتة NOENCODING في الصنف Regexp‎ في توثيق روبي الرسمي.

التابع ‎autoload?‎‎ الخاص بالصنف Kernel في روبي

يعيد التابع autoload?‎ اسم الملف المراد تحميله إذا سُجّل للتحميل عند الوصول إلى وحدة محدَّدة عبر التابع autoload. البنية العامة autoload?(name)→ String or nil‎ المعاملات name سلسلة نصية تمثل اسم الوحدة. القيمة المعادة تعاد سلسلة نصية تمثل اسم الملف المراد تحميله عند الوصول إلى الوحدة name، أو تعاد القيمة nil إن لم يكن هنالك أي ملف مُسجَّل. أمثلة مثال على استخدام التابع autoload?‎: autoload(:B, "b") autoload?(:B) #=> "b" ‎ انظر أيضا ...

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