作者:333 | 来源:互联网 | 2022-12-06 13:21
我想检查我的矢量/数组是否由数字组成.
我试过了:
if isa(x, Array{Number})
println("yes")
end
但它似乎不起作用......
1> Bogumił Kami..:
你有两个场景.
场景1.您想要检查向量的类型是否仅允许数字.然后写:
eltype(x) <: Number
场景2.您想要检查矢量实际上是否所有元素都是数字.然后写:
all(isa.(x, Number))
第二个效率较低,因为它必须检查整个数组.有时需要它的原因是你可以有:
x = Any[1, 2, 3]
它只包含数字,但是矢量的类型通常允许它包含除数字之外的其他内容(因此它将使方案1失败但通过方案2).
只是添加`x isa Array {<:Number}`也适用于第一个场景,因为它更接近于问题的措辞