أولوية العمليات في روبي

من موسوعة حسوب
< Ruby
مراجعة 09:37، 19 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يوضح الجدول التالي أولوية العمليات في روبي من الأعلى إلى الأدنى. تُنفَّذ العمليات ذات الأولوية العليا قبل العمليات ذات الأولوية الأقل منها عند وجودها في نفس التعبير أو السطر البرمجي في الشيفرة.

ترتيب أولوية العمليات
!، ~، + unary
**
- unary
*، /، %
+، -
>>، <<
&
|، ^
<، =<، >، =>
<=>، ==، ===، =!، ~=، ~!
&&
||
..، ...
?، :
modifier-rescue
=، =+، =-، ...إلخ.
?defined
not
and ،or
modifier-until ،modifier-while ،modifier-unless ،modifier-if
blocks { }

إن عملية الجمع الأحادية + unary والطرح الأحادية - unary هي من أجل 1+، أو 1-، أو (a + b)-.

إنَّ modifier-if، و modifier-unless ...إلخ. تمثِّل الإصدار المعدِّل من هذه البنى (انظر القسم "البنيتان If و unless المعدِّلتان" في توثيق تعابير التحكم). إليك مثلًا الشيفرة التالي التي يُستعمَل فيها البنية unless المعدِّلة:

a += 1 unless a.zero?

إنَّ لتنفيذ الكتل block { ... } أولويةٌ دنيا على كل العمليات ولكن الكتل المكتوبة بالشكل do ... end لها أولوية أدنى من الشكل السابق.

ما تبقى من الكلمات الموجودة في جدول ترتيب أولوية العمليات هي كلمات مفتاحية.

مصادر