Julia-布尔元素操作数组

时间:2019-06-28 02:45:05

标签: julia

我不了解以下元素明智的布尔运算结果(请参阅最后一部分的箭头):

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)。 有人可以解释吗?

1 个答案:

答案 0 :(得分:5)

运算符优先级问题。

您有(忽略):

(A .== (1 .& B) .==1)

您需要:

(A .== 1) .& (B .==1)

this thread。请注意,&(定义为乘法)位于==(定义为比较)之前。