本文概述
- Perl运算符优先级
- Perl运算符优先级表
- Perl操作员关联
- Perl关联表
- 佩尔·阿里特
- Perl固定性
Perl运算符优先级Perl优先级的行为类似于数学中的BODMAS。加法和减法始终在乘法和除法之后。
【Perl运算符】例如,
8 + 4 - 5 * 6 / 3 = 2
在这里, 使用BODMAS规则的答案将为2。将首先计算(6/3 = 2), 然后将商2乘以5, 然后进行减法和加法运算。
例:
use 5.010;
use strict;
use warnings;
my $result1 = 8 + 4 - 5 * 6 / 3 ;
say $result1;
my $result2 = 12 * 3 + 2 ** 2 <
<
1;
say $result2;
输出
2
80
Perl运算符优先级表
Operators | Description |
---|---|
++, — | 自动递增, 自动递减 |
-, ~, ! | 具有一个操作数的运算符 |
** | Exponentiation |
=~, !~ | 模式匹配运算符 |
*, /, %, X | 乘法, 除数, 余数, 重复 |
+, -, . | 加, 减, 串联 |
< < , > > | Shifting operators |
-e, -r | 文件状态运算符 |
< , < =, > , > =, lt, le, gt, ge | 不等式比较运算符 |
== , ! =, < => , eq, nq, cmp | 平等比较算子 |
& | 按位与 |
|, ^ | 按位OR和XOR |
& & | 逻辑与 |
|| | 逻辑或 |
. . | 列表范围运算符 |
?和: | 条件运算符 |
=, +=, -=, *= | 赋值运算符 |
, | Comma operator |
not | 低优先级逻辑非 |
and | 低优先级逻辑与 |
或 | 低优先级逻辑OR和XOR |
操作顺序非常重要。有时双方都是相同的, 但有时会产生巨大差异。
例如,
7 + 4 + 2 = 13
这个问题的答案从左到右在任何顺序上都是相同的。
3 ?? 2 ?? 3
这个问题的答案是左起(9 ?? 3)和右起(3 ?? 8)。这两个答案有很大的不同。
例:
use 5.010;
use strict;
use warnings;
my $result = 3 ** 2 ** 3;
say $result;
输出
6561
Perl关联表
Operators | Description |
---|---|
++, — | 方向顺序在此不适用 |
-, ~, ! | Right-to-Left |
** | Right-to-Left |
=~, !~ | Left-to-Right |
*, /, %, X | Left-to-Right |
+, -, . | Left-to-Right |
< < , > > | Left-to-Right |
-e, -r | 方向顺序在此不适用 |
< , < =, > , > =, lt, le, gt, ge | Left-to-Right |
== , ! =, < => , eq, ne, cmp | Left-to-Right |
& | Left-to-Right |
|, ^ | Left-to-Right |
& & | Left-to-Right |
|| | Left-to-Right |
.. | Left-to-Right |
?和: | Right-to-Left |
=, +=, -=, *= | Right-to-Left |
, | Left-to-Right |
not | Left-to-Right |
and | Left-to-Right |
或 | Left-to-Right |
无效运算符对零操作数进行操作, 一元运算符对一个操作数进行操作, 二进制运算符对两个操作数进行操作, 列表运算符对操作数列表进行操作。
例如,
3 + 3 ? 2
算术运算符通常保持关联。在这里, (3 + 3)首先求值, 然后转到第二个(-)运算符。
例:
use 5.010;
use strict;
use warnings;
my $result = ( 5 - 2 + 10 ) * 2;
say $result;
输出
26
Perl固定性运算符固定性可以定义为其相对于其操作数的位置。
例如,
- 中缀运算符出现在其操作数之间。3 + 2
此处, +运算符出现在操作数3和2之间
- 前缀运算符出现在其操作数之前。! $ a, -3x
这里, !和-运算符出现在操作数$ a和3之前。
- Postfix运算符出现在其操作数之后。$ x ++
此处, ++运算符出现在操作数$ x之后。
- Circumfix运算符围绕其操作数。例如哈希构造函数和引用运算符。(一些[…
])
- 后缀运算符遵循某些操作数并围绕某些操作数。$ hash {$ a}
推荐阅读
- Perl print()和say()
- Perl运算符类型
- Perl对象概念(面向对象编程)
- Perl next语句
- 根据appId匹配项目名称
- some characters cannot be mapped using iso-8859-1 character encoding
- create-react-app修改入口文件
- .NET轻量级ORM框架Dapper入门精通
- Android View动画 --- scale