朱莉娅:检查向量是否是数字向量

时间:2018-08-28 20:37:14

标签: if-statement types julia

我想检查我的向量/数组是否由数字组成。

我尝试过:

if isa(x, Array{Number})
  println("yes")
end

但这似乎不起作用...

1 个答案:

答案 0 :(得分:7)

您在这里有两种情况。

方案1.您想检查向量的类型是否仅允许数字。然后写:

eltype(x) <: Number

场景2。您想检查向量的所有元素是否实际上都是数字。然后写:

all(isa.(x, Number))

第二个效率较低,因为它必须检查整个数组。有时可能需要它的原因是您可以拥有例如:

x = Any[1, 2, 3]

仅包含数字,但是向量的类型通常允许它包含数字以外的其他内容(因此它将在方案1失败但通过方案2)。