这是示例。出于某种奇怪的原因,Perl 认为 1 and 0
是一个真实的值。为什么?
$ perl -e '$x = 1 and 0; print $x;'
1
最佳答案
因为and
的优先级和 &&
不同:$x = 1 and 0
就像 ($x = 1) and 0
, 而 $x = 1 && 0
就像 $x = (1 && 0)
.
见 perlop(1) .
关于perl - 为什么 Perl 认为 `1 and 0` 是真的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325887/