在Julia中,我们有typeintersect(Missing, Union{Missing, Float64})
(返回Missing
)。
Union{Missing, Float64} - Missing
返回Float64
)?
我确实尝试了typesubtract(Missing, Union{Missing, Float64})
或typecomplement(Union{Missing, Float64}, Missing)
,但显然它们不存在;-)
答案 0 :(得分:2)
对于Missing
,它实际上是作为nonmissingtype
函数在Base中实现的(但未导出)。这里有相关代码:
nonmissingtype(::Type{Union{T, Missing}}) where {T} = T
nonmissingtype(::Type{Missing}) = Union{}
nonmissingtype(::Type{T}) where {T} = T
nonmissingtype(::Type{Any}) = Any
因此,这可能应该可以解决Missing
(只是import
的{{1}}这个问题)问题,并且您有一个模板,可以知道如何在其他情况下实现类似的功能。请让我知道它是否满足您的要求。