我不了解以下元素明智的布尔运算结果(请参阅最后一部分的箭头):
A = [1,2,3,1,2]
B = [1,2,1,3,2]
julia> A.==1
5-element BitArray{1}:
true
false
false
true
false
julia> B.==1
5-element BitArray{1}:
true
false
true
false
false
julia> A.==1 .& B.==1
5-element BitArray{1}:
true
false
false
true <----- I expect this to be false
false
A。== 1和B。== 1的第4个元素应该为false,因为它是(true&false)。 有人可以解释吗?
答案 0 :(得分:5)
运算符优先级问题。
您有(忽略):
(A .== (1 .& B) .==1)
您需要:
(A .== 1) .& (B .==1)
this thread。请注意,&
(定义为乘法)位于==
(定义为比较)之前。