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

If statement 朱莉娅:检查向量是否是数字向量,if-statement,types,julia,If Statement,Types,Julia,我想检查我的向量/数组是否由数字组成 我试过: if isa(x, Array{Number}) println("yes") end 但它似乎不起作用…这里有两种情况 情景1。您需要检查向量的类型是否只允许数字。然后写: eltype(x) <: Number all(isa.(x, Number)) 第二种方法效率较低,因为它必须检查整个阵列。有时可能需要的原因是,您可以拥有,例如: x = Any[1, 2, 3] 它只包含数字,但向量的类型通常允许它包含数字以外的其他内

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

我试过:

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

但它似乎不起作用…

这里有两种情况

情景1。您需要检查向量的类型是否只允许数字。然后写:

eltype(x) <: Number
all(isa.(x, Number))
第二种方法效率较低,因为它必须检查整个阵列。有时可能需要的原因是,您可以拥有,例如:

x = Any[1, 2, 3]

它只包含数字,但向量的类型通常允许它包含数字以外的其他内容(所以它将在场景1中失败,但通过场景2)。

请,无论何时发布这样的问题,请明确说明“什么不起作用”。例如,说出你的错误,或者最好写一个最小的独立示例。否则,它往往会导致大量猜测(或者,通常会导致否定票和无答案),例如,
x=Array{Number}([1,2,3,4]);x isa数组{Number}
可以工作。给出了公认的答案,这不是你要问的。只需添加
x isa数组即可{