2012-06-14 5 views
4

누군가 명확히 설명 할 수 있습니까? 또한, "$ |"의 다른 표현이 있다면 언급하십시오.

미리 감사드립니다.

답변

10

내가 아는 실제적인 차이점은 없습니다. $|은 부울 (0 또는 1) 만 저장하므로 절대 값을 증가시키지 않으면 절대 1이 아닌 다른 값이됩니다. 마이크로 마이크로 옵티 마이저는 ++가 더 빠르다고 말할 수 있습니다.

디 크리 팅은 토글로 작동하지만 프로덕션 코드에서이를 수행해야하는 타당한 이유는 생각할 수 없습니다.

+3

마이크로 마이크로 마이크로 optimisers는 ++ EXPR 펄은'에게 EXPR를 변환하는 이유 ++''에있는, 즉 * 전 *이 -decrement 빨리 당신을 말할 것이다 같이 작성하다 '무효 맥락에서. :) – ikegami

2

$ | 0으로 시작하므로 $ | ++는 0에서 1로 증가하고 $ | = 1은 1로 설정합니다. 그러나 값은 증분 또는 할당을 통해 1보다 높게 설정할 수 없습니다. $ | $|++$| = 1;과 동일하지 왜 당신은 당신이 ($| = 1;을) 무슨 뜻인지 할 수있을 때 마법에 의존하도록 =이 여전히 1

+0

알았어. 감사! – Gentle

1

현대 코드에서 $|과 같은 낮은 수준의 세부 사항을 노려보고 싶지는 않을 것입니다. 이 훨씬 더 훨씬 더 분명 읽을 수는

use IO::Handle; 
STDOUT->autoflush(1); 
관련 문제