朱莉娅有减法操作吗?

问题描述 投票:0回答:1

在朱莉娅,我们有typeintersect(Missing, Union{Missing, Float64})(返回Missing)。是否有可能获得剩下的东西(即Union{Missing, Float64} - Missing返回Float64)?

我确实尝试过typesubtract(Missing, Union{Missing, Float64})typecomplement(Union{Missing, Float64}, Missing),但显然它们不存在;-)

julia
1个回答
2
投票

对于Missing,它实际上是在Base(但不是导出)中实现为nonmissingtype函数。在这里您有相关的代码:

nonmissingtype(::Type{Union{T, Missing}}) where {T} = T
nonmissingtype(::Type{Missing}) = Union{}
nonmissingtype(::Type{T}) where {T} = T
nonmissingtype(::Type{Any}) = Any

所以这应该可以用Missing来解决你的问题(只需import这个Base这个函数)你就有了一个模板,如何为其他场景实现类似的东西。如果它能回答你的想法,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.