以下语句在Perl中的含义是什么:num/=0
以下语句在Perl中的含义是什么:以下语句在Perl中的含义是什么:num/=0,perl,Perl,以下语句在Perl中的含义是什么: num //= 0 num/=0,相当于 num = num // 0; $x = $x + 2; 这意味着它检查左操作数是否已定义,如果已定义,则返回左操作数,否则返回右操作数 my $num; $num //= 0; print $num; # optputs 0 $num = 9; $num //= 0; print $num; # outputs 9 列出Perl运算符 逻辑定义或 尽管Perl的//运算符在C中没有直接的等价物,但
num //= 0
num/=0,相当于
num = num // 0;
$x = $x + 2;
这意味着它检查左操作数是否已定义,如果已定义,则返回左操作数,否则返回右操作数
my $num;
$num //= 0;
print $num; # optputs 0
$num = 9;
$num //= 0;
print $num; # outputs 9
列出Perl运算符
逻辑定义或
尽管Perl的//运算符在C中没有直接的等价物,但是
与其C型“或”相关。事实上,它与| |完全相同,
除了测试左手边的定义,而不是它的
真相
/=
只是它的赋值版本
赋值运算符的工作方式与C中的相同,即
$x += 2;
相当于
num = num // 0;
$x = $x + 2;
因此它将0
分配给num
,除非已经定义了num
这与
| |
不同,因为存在不为真的定义值(例如0
或空字符串)。
现在是方便的交通方式
$num=
$num$数量:0代码>
/
被称为定义的或运算符
除非变量是undf
或数组为空()
(实际上是)-它是定义的
因此my($a,$b,$c)=(“”,'0',0)
都是定义的,但是false
注意之前没有类似的$pi/=pi
它并不等同于num=num | | 0代码><代码>/
和|
明显不同。一个测试真实性,另一个测试定义性。因此,我知道如果'num'不是null,则取'num',如果null取0。对吗?@OsamaMostafa-不,好吧。因为Perl没有null
,这从一开始就不可能发生。@Quentin谢谢,更正了答案。你是说$var/=0代码><代码>num/=0代码>是一个错误。