Julia 应用`&;`关于布尔数组
我有一个布尔值数组,我想得到所有元素的逻辑and。最有效的方法是什么 我试过了Julia 应用`&;`关于布尔数组,julia,Julia,我有一个布尔值数组,我想得到所有元素的逻辑and。最有效的方法是什么 我试过了 &([true,false,false]...) 但它抛出了一个错误: syntax: malformed expression 令人惊讶的是(至少对我来说)下面的表达 |([true,false,false]...) 计算结果为true。那我该怎么做呢?现在我用了一堆“不”来做,但这是非常不令人满意的 这实际上也比在所有元素中循环好吗?最有可能的是&的这种行为是由不推荐的ccall功能造成的,其中&在
&([true,false,false]...)
但它抛出了一个错误:
syntax: malformed expression
令人惊讶的是(至少对我来说)下面的表达
|([true,false,false]...)
计算结果为true
。那我该怎么做呢?现在我用了一堆“不”来做,但这是非常不令人满意的
这实际上也比在所有元素中循环好吗?最有可能的是
&
的这种行为是由不推荐的ccall
功能造成的,其中&
在变量前面使用。如上所述:
- 您可以将
括在括号中,使其按预期工作&
;但是,这并不像您在传递参数时所做的那样高效李>(&)([true,false,false]…)
- 如果您的参数都是
,则建议使用Boll
函数执行逻辑and李>all
- 如果您需要按位,然后
是一个很好的解决方案,如图所示reduce(&[true,false,false])
&
像这样用括号括起来(&)([true,false,false]…)
。但是,通常的做法是使用all
和any
函数,例如all([true,false,false])
。区别在于&
和|
是位运算符(因此它们在Int
等上工作)。哦!我不知道all
和any
的存在。谢谢我认为你应该写is作为答案。还有reduce(&,xs)
的选项,不同的是它不会短路。