أولوية العمليات في روبي
< Ruby
يوضح الجدول التالي أولوية العمليات في روبي من الأعلى إلى الأدنى. تُنفَّذ العمليات ذات الأولوية العليا قبل العمليات ذات الأولوية الأقل منها عند وجودها في نفس التعبير أو السطر البرمجي في الشيفرة.
ترتيب أولوية العمليات |
---|
! ، ~ ، + 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
لها أولوية أدنى من الشكل السابق.
ما تبقى من الكلمات الموجودة في جدول ترتيب أولوية العمليات هي كلمات مفتاحية.