Arrays Julia,整数与布尔值是在两个数组中选择实例的结果

Arrays Julia,整数与布尔值是在两个数组中选择实例的结果,arrays,boolean,conditional-statements,julia,Arrays,Boolean,Conditional Statements,Julia,我有一个3d阵列叫做Pop。我想知道有多少次两个不同的条件都满足了,他们都为我独立工作,但我不能把两者放在一起 Pop[end, :, 1] .== 3 工作正常,生成1和0的整数向量,这是正确的。也 Pop[end-1, :, 1] .== 4 有效,再次返回整数向量,但是当我将两者放在一起时: count(Pop[end, :, 1] .== 3 && Pop[end-1, :, 1] .== 4) 我得到这个错误: ERROR: TypeError: non-bool

我有一个3d阵列叫做Pop。我想知道有多少次两个不同的条件都满足了,他们都为我独立工作,但我不能把两者放在一起

Pop[end, :, 1] .== 3
工作正常,生成1和0的整数向量,这是正确的。也

Pop[end-1, :, 1] .== 4
有效,再次返回整数向量,但是当我将两者放在一起时:

count(Pop[end, :, 1] .== 3 && Pop[end-1, :, 1] .== 4)
我得到这个错误:

ERROR: TypeError: non-boolean (BitArray{1}) used in boolean context

哪种帮助,可以看出这两个数字数组不能以布尔方式进行比较。获取满足这两个条件的次数的语法有什么问题。很简单,我知道,但我搞不懂!谢谢。J

&&
是一个短路布尔值,这意味着如果第一项为
true
,则不计算其余项(请参阅)。这也意味着它只适用于单数布尔数,不能通过数组进行广播

&
是要在此处使用的按位AND运算符(),因为它可以使用语法
&
通过数组进行广播,使用方法与
=
相同

julia> [true, true, false] .& [true, false, false]
3-element BitArray{1}:
 1
 0
 0

您需要
(Pop[end,:,1]。==3)和(Pop[end-1,:,1]。==4)
。请注意,如果没有括号,优先级是不同的:将
:(1==2&3==4)|>dump
&
进行比较。Thx mcabbot,我确实试图找到示例和/或解释,但该语言似乎太新了,几乎没有。我在哪里可以找到
&
&
之间差异的描述?
&
类似于
?:没有else的情况下,如下所述:。而
&
只是一个函数,如下所述:。这本手册总的来说相当不错,当然你不必读到最后。