繁体   English   中英

“$ | ++”和“$ | = 1”有什么区别

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM