我不了解以下元素明智的布尔运算结果(请参阅最后一部分的箭头):
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)。有人可以解释吗?
运算符优先级问题。
您有(忽略):
(A .== (1 .& B) .==1)
Run Code Online (Sandbox Code Playgroud)
你需要:
(A .== 1) .& (B .==1)
Run Code Online (Sandbox Code Playgroud)
相关文档。请注意,&
(定义为乘法)先于==
(定义为比较)。