例如,假设我写了一个函数 for AbstractFloat
,我想知道这个方法定义的影响,我如何检查AbstractFloat
Base 中的所有子类型?
您正在寻找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 中有一个很好的方法来可视化类型树: