Julia-布尔元素操作数组

tuc*_*son 4 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
Run Code Online (Sandbox Code Playgroud)

A。== 1。&B。== 1的第四个元素应该为false,因为它是(true&false)。有人可以解释吗?

Col*_*ers 6

运算符优先级问题。

您有(忽略):

(A .== (1 .& B) .==1)
Run Code Online (Sandbox Code Playgroud)

你需要:

(A .== 1) .& (B .==1)
Run Code Online (Sandbox Code Playgroud)

相关文档。请注意,&(定义为乘法)先于==(定义为比较)。