Иллюстрированный самоучитель по Perl




Приоритет операций


После выделения и вычисления термов выражение разбирается с целью выявления последовательности выполнения операций в выражении: какая из них должна быть выполнена раньше другой. Это достаточно ответственная процедура, так как порядок выполнения операций существенно влияет на результат вычисления всего выражения. Например, результатом вычисления выражения

4+3*2

будет 14, если сначала выполнить сложение, а потом умножение, и ю, если сначала выполнить умножение, а потом сложение. Дабы избежать подобных двусмысленностей в языках программирования, вводится приоритет, или старшинство операций, который учитывается при вычислении выражения. Приоритет операции умножения выше приоритета сложения, а поэтому наше арифметическое выражение будет однозначно вычислено равным ю.

В табл. 4.4 представлены все операции Perl в порядке убывания их приоритета, в ней также рпределен порядок выполнения операций с одинаковым приоритетом (столбец Сочетаемость).


Таблица 4.4. Приоритет и сочетаемость операций Perl

Приоритет

Операция

Сочетаемость

1

Вычисление термов и левосторонних списковых операций

Слева направо

2

->

Слева направо

3

++ --

Не сочетаются

4

* *

Справа налево

5

! ~ \ унарные + и -

Справа налево

6

=~ ! =

Слева направо

7

* / % х

Слева направо

8

+ - .

Слева направо

9

« »

Слева направо

10

Именованные унарные операции

Не сочетаются

11

<><=>= It gt le ge

Не сочетаются

12

== != <=> eq ne cmp

Не сочетаются

13

&

Слева направо

14

I л

Слева направо

15

&&

Слева направо

16

I I

Слева направо

17

. . ...

Не сочетаются

18

?;

Справа налево

19

= **= += -= .= *= /= %= х= &= |= л =

Справа налево

«= »= &&=|| =


20

, =>

Слева направо

21

Правосторонние списковые операции

Не сочетаются

22

not

Справа налево

23

and

Слева направо

24

or xor

Слева направо

<


Содержание  Назад  Вперед