在类型联合中访问类型

时间:2019-09-15 17:21:14

标签: julia

假设我在Julia中有一个DataFrame,并且typeof((df[:,:col]))返回Array{Union{Missing, Float64},1}。如何检查Union{Missing, Float64}中的类型,例如查看Float64是否在该Union中,或确保该Union中没有String值?

1 个答案:

答案 0 :(得分:6)

您可以使用子类型运算符:

T1 = Union{Missing, Float64}
Float64 <: T1 # true
String <: T1  # false

这是因为Float64是联合的子类型,而String不是(因为它不在联合中)。

如果您要定义要在其上分派的方法,则可以更进一步:

function doSomething(arr::Vector{Union{Missing, T}}) where T <: Float64
    # do something
end