Julia 应用`&;`关于布尔数组

Julia 应用`&;`关于布尔数组,julia,Julia,我有一个布尔值数组,我想得到所有元素的逻辑and。最有效的方法是什么 我试过了 &([true,false,false]...) 但它抛出了一个错误: syntax: malformed expression 令人惊讶的是(至少对我来说)下面的表达 |([true,false,false]...) 计算结果为true。那我该怎么做呢?现在我用了一堆“不”来做,但这是非常不令人满意的 这实际上也比在所有元素中循环好吗?最有可能的是&的这种行为是由不推荐的ccall功能造成的,其中&在

我有一个布尔值数组,我想得到所有元素的逻辑and。最有效的方法是什么

我试过了

&([true,false,false]...)
但它抛出了一个错误:

syntax: malformed expression
令人惊讶的是(至少对我来说)下面的表达

|([true,false,false]...)
计算结果为
true
。那我该怎么做呢?现在我用了一堆“不”来做,但这是非常不令人满意的


这实际上也比在所有元素中循环好吗?

最有可能的是
&
的这种行为是由不推荐的
ccall
功能造成的,其中
&
在变量前面使用。如上所述:

  • 您可以将
    &
    括在括号中,使其按预期工作
    (&)([true,false,false]…)
    ;但是,这并不像您在传递参数时所做的那样高效
  • 如果您的参数都是
    Boll
    ,则建议使用
    all
    函数执行逻辑and
  • 如果您需要按位,然后
    reduce(&[true,false,false])
    是一个很好的解决方案,如图所示

&
像这样用括号括起来
(&)([true,false,false]…)
。但是,通常的做法是使用
all
any
函数,例如
all([true,false,false])
。区别在于
&
|
是位运算符(因此它们在
Int
等上工作)。哦!我不知道
all
any
的存在。谢谢我认为你应该写is作为答案。还有
reduce(&,xs)
的选项,不同的是它不会短路。