julia - Julia 中的条件语句
问题描述
我定义了两个非空向量:
tmp = [1, 2, 3]
tmp2 = [1, 2]
当我输入
size(tmp, 1) > 0
输出是true
。但是当我写
size(tmp, 1) > 0 & size(tmp2, 1) > 0
它返回假。当我将每个术语放在括号中时,如
(size(tmp, 1) > 0) & (size(tmp2, 1) > 0 )
它按预期返回true。但我不明白为什么size(tmp, 1) > 0 & size(tmp2, 1) > 0
返回false?
解决方案
这是两件事的结果。首先是运算符优先级。您编写的代码被解析为size(tmp, 1) > (0 & size(tmp2, 1)) > 0
(即作为链式比较)。
然而,更大的问题是您可能想使用&&
而不是&
. &
是按位与,&&
而是逻辑与。因此,&&
这里有您期望的优先级。
推荐阅读
- python - 在考虑约束的同时实现轮班时间自动化
- html - 获取选定选项的值并比较选择标签外的值以获取该值的更多数据
- javascript - 通过reduce添加键数组作为obj上的属性作为累加器?
- php - sql中日期列的groupby星期
- javascript - 无法显示小倍数的折线图
- javascript - TypeScript - 仅在有值时在 POST 上发送可选字段
- php - Monolog 没有写入正确的日志文件
- r - 具有多个条件的行和
- node.js - 如何为使用 nodejs 的 Watson Assistant API 查找 ibm-watson 的 api-key 和密码
- python-3.x - 计算文本中不包括缩进的空格数