簡體   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