我碰巧遇到了具有以下语法的 perl 代码。
sub new{
my ($class, $value)=@_;
$lobby ||= bless{
e=>undef;},$class
}
||=
的语法是什么意思?我没有把它作为关键字用谷歌搜索,而且我在 perldoc 中找不到类似的语法。
最佳答案
您将在 perlop 中找到运算符的含义。
现在它做了什么: $lhs ||= $rhs
等价于 $lhs = $lhs || $rhs
。这意味着如果 $rhs
在 Perlish 意义上为 false,则 $lhs
被分配给 $lhs
。如果 $lhs
是 undef
,则这可以是 ojit_code ,如果它是空字符串,则是 0 的数字。
关于perl - Perl 中的符号 - ||= 运算符有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13412882/