我碰巧遇到了具有以下语法的 perl 代码。

sub new{
my ($class, $value)=@_;
$lobby ||= bless{
e=>undef;},$class
}
||= 的语法是什么意思?

我没有把它作为关键字用谷歌搜索,而且我在 perldoc 中找不到类似的语法。

最佳答案

您将在 perlop 中找到运算符的含义。

现在它做了什么: $lhs ||= $rhs 等价于 $lhs = $lhs || $rhs 。这意味着如果 $rhs 在 Perlish 意义上为 false,则 $lhs 被分配给 $lhs。如果 $lhsundef ,则这可以是 ojit_code ,如果它是空字符串,则是 0 的数字。

关于perl - Perl 中的符号 - ||= 运算符有什么作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13412882/

10-15 04:58