[英]What is difference between “$|++” and “$|=1”
有人可以帮忙澄清一下吗? 另外,请提及是否有“$ |”的其他表示。
提前致谢。
我所知道的没有实际的区别; $|
只存储一个布尔值(0或1),因此递增它将永远不会产生除1之外的任何值。微型微优化器可能会告诉你++更快。
另一方面,减少它可以作为一个切换,但我不能想到在生产代码中这样做的任何好理由:要么你想要它打开还是关闭。
$|
超级神奇,所以$|++
与$| = 1;
相同 $| = 1;
但是,当你可以做你的意思时,为什么要依靠魔法( $| = 1;
)?
$ |的值 从0开始,因此$ | ++从0增加到1而$ | = 1将其设置为1.请注意,它的值永远不能通过递增或赋值设置为高于1,例如$ | = 2仍然评估为1。
你几乎肯定不想摆弄像$|
这样的低级细节 在现代代码中。 这是更好,更明显可读的写作
use IO::Handle;
STDOUT->autoflush(1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.