julia语言按位或if语句

时间:2014-09-01 17:03:49

标签: julia

我在Windows 8.1上使用Julia 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)

我预计Y = 1999,M = 14

显然这不是使用按位或(|)的方法 我如何达到预期的效果?

1 个答案:

答案 0 :(得分: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