Spec-Zone.ru › Ruby 3.4

Приоритет

От самого высокого к самому низкому, вот таблица приоритетов для руби. Операции с высоким приоритетом выполняются перед операциями с низким приоритетом.

!, ~, unary +

**

unary -

*, /, %

+, -

<<, >>

&

|, ^

>, >=, <, <=

<=>, ==, ===, !=, =~, !~

&&

||

.., ...

?, :

modifier-rescue

=, +=, -=, etc.

defined?

not

or, and

modifier-if, modifier-unless, modifier-while, modifier-until

{ } blocks

Унарные + и унарные - предназначены для +1, -1 или -(a + b).

Модификатор-если, модификатор-если-нет и т.д. предназначены для модификаторных версий этих ключевых слов. Например, это оператор модификатор-если-нет:

a += 1 unless a.zero?

Обратите внимание, что (a if b rescue c) разбирается как ((a if b) rescue c) по причинам, не связанным с приоритетом. См. операторы модификаторов.

Блоки { ... } имеют приоритет ниже всех перечисленных операций, но блоки do ... end имеют более низкий приоритет.

Все остальные слова в таблице приоритетов выше являются ключевыми словами.

Ruby Core © 1993–2022 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API