这是代码的一部分:
return undef if ($mate{$grid_edge->[0]} // '') eq $grid_edge->[1];
$node->{count} //= count($node->{low}) + count($node->{high});
那么在上面的代码行中,// ''
和//=
在Perl中意味着什么?
答案 0 :(得分:6)
//
运算符正式为Logical Defined-Or运算符。
在第一行:
($mate{$grid_edge->[0]} // '')
表示:如果定义了$mate{$grid_edge->[0]}
,请使用该值,否则使用''
作为值。请注意,单引号只是一个空字符串,而不是运算符的一部分。
在第二行:
$node->{count} //= count($node->{low}) + count($node->{high});
如果未定义$node->{count}
,请为其指定count($node->{low}) + count($node->{high})
。