提交 9c79f172 编写于 作者: W wizardforcel

2019-10-16 20:58:51

上级 7e69aba3
......@@ -2,14 +2,15 @@
> 原文: [https://beginnersbook.com/2017/02/perl-operators-complete-guide/](https://beginnersbook.com/2017/02/perl-operators-complete-guide/)
运算符是表示动作的字符,例如+是表示加法的算术运算符。
运算符是表示动作的字符,例如`+`是表示加法的算术运算符。
perl 中的运算符分为以下类型:
1)基本算术运算符
2)赋值运算符
3)自动递增和自动递减运算符
3)自增和自减运算符
4)逻辑运算符
......@@ -21,20 +22,23 @@ perl 中的运算符分为以下类型:
## 1)基本算术运算符
基本算术运算符是:+, - ,*,/,%,**
**+** 用于加法:$ x + $ y
基本算术运算符是:`+, - , *, /, %, **`
`+` 用于加法:`$x + $y`
`-` 用于减法:`$x - $y`
`*` 用于乘法:`$x * $y`
**-** 用于减法:$ x - $ y
`/` 用于划分:`$x / $y`
***** 用于乘法:$ x * $ y
`%`用于模数:`$x % $y`
**/** 用于划分:$ x / $ y
**注:**它返回余数,例如`10 % 5`将返回 0
**%**用于模数:$ x%$ y
**注:**它返回余数,例如 10%5 将返回 0
`**`用于指数:`$x ** $y`
****** 用于指数:$ x ** $ y
x 到幂 y
x 到的 y 次幂
#### 例
......@@ -73,17 +77,17 @@ print '** Operator 输出: ' . $result . "\n";
** Operator 输出: 16
```
## 2)分配运算符
## 2)赋值运算符
perl 中的赋值运算符是:=,+ =, - =,* =,/ =,%=,** =
perl 中的赋值运算符是:`=, +=, -=, *=, /=, %=, **=`
**$ x = $ y** 会将变量 y 的值赋给变量 x
**$ x + = $ y** 等于$ x = $ x + $ y
**$ x - = $ y** 等于$ x = $ x- $ y
**$ x * = $ y** 等于$ x = $ x * $ y
**$ x / = $ y** 等于$ x = $ x / $ y
**$ x%= $ y** 等于$ x = $ x%$ y
**$ x ** = $ y** 等于$ x = $ x ** $ y
+ `$x = $y`会将变量`y`的值赋给变量`x`
+ `$x += $y` 等于`$x = $x + $y`
+ `$x -= $y`等于`$x = $x - $y`
+ `$x *= $y`等于`$x = $x * $y`
+ `$x /= $y`等于`$x = $x / $y`
+ `$x %= $y`等于`$x = $x % $y`
+ `$x **= $y`等于`$x = $x ** $y`
#### 例:
......@@ -143,13 +147,15 @@ $x= 5 and $result=2
**= Operator 输出: 32
```
## 3)自动递增和自动递减运算符
## 3)自增和自减运算符
++和:
**$ x ++** 相当于$ x = $ x + 1;
**$ x-** 相当于$ x = $ x-1;
`++``--`
#### Example:
`$x++`相当于`$x = $x + 1;`
`$x--`相当于`$x = $x - 1;`
#### 示例:
```
#!/usr/local/bin/perl
......@@ -172,18 +178,16 @@ Value of $y-- is: 199
## 4)逻辑运算符
逻辑运算符与二进制变量一起使用。它们主要用于条件语句和循环以评估条件。
perl 中的逻辑运算符是:&&,and,||,或者不是,!
**&&** “和”**和**“相同
$ x& y 如果 x 和 y 都为真,则返回 true,否则返回 false。
perl 中的逻辑运算符是:`&&``||``!`
**||** “和”**或**“相同。如果 x 和 y 都为假,则
$ x || $ y 将返回 false,否则返回 true。
`&&``and`相同。如果`x``y`都为真,则`$x && $y`返回`true`,否则返回`false`
**!** “和”**不是**“是相同的。
!$ x 将返回 x 的反面,这意味着如果 x 为 false 则为 true,如果 x 为 true 则返回 false。
`||``or`相同。如果`x``y`都为假,则`$x || $y`将返回`false`,否则返回`true`
#### Example
`!``not`是相同的。`!$x`将返回`x`的反面,这意味着如果`x``false`则为`true`,如果`x``true`则返回`false`
#### 示例
```
#!/usr/local/bin/perl
......@@ -223,15 +227,16 @@ not$x: 1
## 5)比较(关系)运算符
它们包括:==,eq,!=,ne,>,gt,<,lt,> =,ge,< =,le
==如果左侧和右侧均为 eq 则返回 true side 是相等的
!=如果左侧不等于运算符的右侧,则 ne 返回 true。
**>如果左侧大于右侧,****gt** 将返回 true。
**<如果左侧小于右侧,****lt** 返回 true。
**> =****ge** 如果左侧大于或等于右侧则返回 true。
**< =****le** 如果左侧小于或等于右侧则返回真。
它们包括:`==, eq, !=, ne, >, gt, <, lt, >=, ge, <=, le`
+ 如果左侧和右侧是相等的,`==``eq`返回`true`
+ 如果左侧不等于运算符的右侧,则`!=``ne`返回`true`
+ 如果左侧大于右侧,`>``gt`将返回`true`
+ 如果左侧小于右侧,`<``lt`返回`true`
+ 如果左侧大于或等于右侧,`>=``ge`返回`true`
+ 如果左侧小于或等于右侧,`<=``le`返回`true`
#### Example
#### 示例
```
#!/usr/local/bin/perl
......@@ -289,32 +294,31 @@ $x is less than or equal to $y
## 6)按位运算符
有六个按位运算符:&amp;,|,^,〜,&lt;&lt;&gt;&gt;&gt;
$ x = 11; #00001011
$ y = 22; #00010110
有六个按位运算符:`&, |, ^, ~, <<, >>`
```
$x = 11; #00001011
$y = 22; #00010110
```
按位运算符执行逐位处理。
**$ x&amp; $ y** 比较 x 和 y 的相应位,如果两个位相等则生成 1,否则返回 0\.
在我们的例子中它将返回:2,这是 00000010,因为只有 x 和 y 的二进制形式倒数第二位是匹配的。
**$ x | $ y** 比较 x 和 y 的相应位,如果任一位为 1 则生成 1,否则返回 0\.
在我们的例子中它将返回 31,即 00011111
`$x & $y`比较`x``y`的相应位,如果两个位相等则生成 1,否则返回 0。在我们的例子中它将返回:2,这是 00000010,因为只有`x``y`的二进制形式倒数第二位是匹配的。
**$ x ^ $ y** 比较 x 和 y 的相应位,如果它们不相等则生成 1,否则返回 0\.
在我们的例子中它将返回 29,相当于 00011101
`$x | $y`比较`x``y`的相应位,如果任一位为 1 则生成 1,否则返回 0。在我们的例子中它将返回 31,即 00011111
**〜$ x** 是一个补码运算符,只是将位从 0 更改为 1,1 更改为 0
在我们的示例中,它将返回-12,其签名为 8 位,相当于 11110100
`$x ^ $y`比较`x``y`的相应位,如果它们不相等则生成 1,否则返回 0。在我们的例子中它将返回 29,相当于 00011101
**&lt;&lt;** 是左移位运算符,向左移动位,丢弃最左边的位,并将最右边的位赋值为 0\.
输出情况输出为 44,相当于 00101100
`~$x`是一个补码运算符,只是将位从 0 更改为 1,1 更改为 0。在我们的示例中,它将返回-12,其签名为 8 位,相当于 11110100
**注意:**在下面的示例中,我们在此移位运算符的右侧提供 2,这是位向左移动两个位置的原因。我们可以更改此数字,并且位将按运算符右侧指定的位数移动。同样适用于右侧运算符。
`<<`是左移位运算符,向左移动位,丢弃最左边的位,并将最右边的位赋值为 0。输出情况输出为 44,相当于 00101100
**&gt;&gt;** 是右移位运算符,将位向右移动,丢弃最右位,并将最左边的位指定为 0\.
在我们的情况下输出为 2,相当于 00000010
**注意**:在下面的示例中,我们在此移位运算符的右侧提供 2,这是位向左移动两个位置的原因。我们可以更改此数字,并且位将按运算符右侧指定的位数移动。同样适用于右侧运算符。
#### Example:
`>>`是右移位运算符,将位向右移动,丢弃最右位,并将最左边的位指定为 0。在我们的情况下输出为 2,相当于 00000010
#### 示例:
```
#!/usr/local/bin/perl
......@@ -355,10 +359,10 @@ $x >> 2 = 2
## 7)引用和引用类操作符
perl 中的运算符有几个引用,如 q {},qq {},qw {},m {},qr {},s {} {},tr {} {},y {} {}。
但是经常只使用其中两个:q {}用于单引号,qq {}用于双引号。
perl 中的运算符有几个引用,如`q{}, qq{}, qw{}, m{}, qr{}, s{}{}, tr{}{}, y{}{}`。但是经常只使用其中两个:`q{}`用于单引号,`qq{}`用于双引号。
#### 示例
#### Example
`q{Welcome to beginnersbook}`会返回`'Welcome to beginnersbook'`
q {欢迎使用 beginnersbook}将返回'欢迎使用初学者专辑'
qq {欢迎使用初学者专辑}将返回“欢迎使用初学者专辑”
\ No newline at end of file
`qq{Welcome to beginnersbook}`会返回`"Welcome to beginnersbook"`
\ No newline at end of file
......@@ -52,7 +52,7 @@ if(condition_1) {
如果 condition_1 为 true,则执行 Statement1。只有条件(condition_1 和 condition_2)都为真时,Statement2 才会执行。
#### Example:
#### 示例:
```
#!/usr/local/bin/perl
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册