Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia中的条件语句_Julia - Fatal编程技术网

Julia中的条件语句

Julia中的条件语句,julia,Julia,我定义了两个非空向量: tmp = [1, 2, 3] tmp2 = [1, 2] 我打字的时候 size(tmp, 1) > 0 输出为true。但是当我写作的时候 size(tmp, 1) > 0 & size(tmp2, 1) > 0 它返回false。 当我把每一个词放在括号里,比如 (size(tmp, 1) > 0) & (size(tmp2, 1) > 0 ) 它按预期返回true。但是我不明白为什么size(tmp,1)>0

我定义了两个非空向量:

tmp = [1, 2, 3]
tmp2 = [1, 2]
我打字的时候

size(tmp, 1) > 0 
输出为
true
。但是当我写作的时候

size(tmp, 1) > 0 & size(tmp2, 1) > 0
它返回false。 当我把每一个词放在括号里,比如

(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
(即作为链式比较)

然而,更大的问题是您可能想使用
&
而不是
&
&
是位and,而
&
是逻辑and。因此,
&&
具有您在此处期望的优先级