有人可以幫忙澄清一下嗎?此外,請提及是否有其他「$ |」的表示形式。
在此先感謝。
有人可以幫忙澄清一下嗎?此外,請提及是否有其他「$ |」的表示形式。
在此先感謝。
我知道沒有實際的區別; $|
只存儲一個布爾值(0或1),因此遞增它將永遠不會產生除1之外的任何值。微型微型優化器可能會告訴您++更快。
減少它,另一方面,作爲一個切換,但我想不出有什麼好的理由來做到這一點在生產代碼:要麼開或關。
$的價值|從0開始,所以$ | ++從0增加到1,而$ | = 1將其設置爲1.然而注意,其值不能通過遞增或賦值例如將其值設置爲大於1。 $ | = 2仍計算爲1
明白了。謝謝! – Gentle
$|
是超級神奇,讓$|++
不一樣$| = 1;
但爲什麼依靠魔法時,你可以做你的意思($| = 1;
)?
你幾乎肯定不想在現代代碼中使用像$|
這樣的低級細節。這是更好和更明顯可讀寫成
use IO::Handle;
STDOUT->autoflush(1);
微微微優化器會告訴你,*前* -decrement比較快,這就是爲什麼Perl的轉變'EXPR ++''到EXPR ++ '在無效的情況下。 :) – ikegami