2014-09-01 1 views
2

내가줄리아 언어 비트 또는 문

윈도우 8.1에 줄리아 0.3.0를 사용하고 난 다음을 입력하는 경우에는 :

julia> Y, M = 2000, 2 
(2000,2) 

julia> if M == 1 | M == 2 
      Y -= 1 
      M += 12 
     end 

julia> Y, M 
(2000,2) 

나는 분명히 = 1999 Y, M = 14

예상 이것은 비트 또는 (|)를 사용하는 방법이 아닙니다. 원하는 결과를 얻으려면 어떻게해야합니까?

답변

3

|| (http://docs.julialang.org/en/latest/manual/control-flow/#man-short-circuit-evaluation)을 제어 흐름 or으로 사용하십시오.

이 경우의 문제는 연산자 우선 순위입니다. |은 비트가 같거나 같음 (http://docs.julialang.org/en/latest/manual/mathematical-operations/ 참조). 예를 들어, (M==1)|(M==2)을 수행하면 작동합니다. 그것의 우선 순위가 바뀌어야하는지 명확하지 않다면 적어도 people are talking about the issue.

+0

매우 감사합니다. –

+0

답변을 수락 할 수 있습니까? – IainDunning