如何在 Julia Base 中查找抽象类型的子类型?

Con*_*ncy 2 julia

例如,假设我写了一个函数 for AbstractFloat,我想知道这个方法定义的影响,我如何检查AbstractFloatBase 中的所有子类型?

Gni*_*muc 7

您正在寻找subtypes

返回 DataType T 的直接子类型列表。请注意,包括所有当前加载的子类型,包括在当前模块中不可见的子类型。

julia> subtypes(AbstractFloat)
4-element Array{Union{DataType, UnionAll},1}:
 BigFloat
 Float16 
 Float32 
 Float64 
Run Code Online (Sandbox Code Playgroud)

但有趣的是,只有一个Base

julia> subtypes(Base, AbstractFloat)
1-element Array{Union{DataType, UnionAll},1}:
 BigFloat
Run Code Online (Sandbox Code Playgroud)

顺便说一句,在PlotRecipes.jl 中有一个很好的方法来可视化类型树: 在此处输入图片说明