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