Julia 获取抽象类型的所有实现
是否有任何方法可以获取某些抽象类型的所有实现?比如:Julia 获取抽象类型的所有实现,julia,Julia,是否有任何方法可以获取某些抽象类型的所有实现?比如: implementations(AbstractString) == [String, DirectIndexString, ...] 那真的很方便。目前,当我需要此功能时,我只是手动注册所有实现。我想这就是你的意思 julia> subtypes(AbstractString) 6-element Array{Union{DataType, UnionAll},1}: Base.SubstitutionString Base.T
implementations(AbstractString) == [String, DirectIndexString, ...]
那真的很方便。目前,当我需要此功能时,我只是手动注册所有实现。我想这就是你的意思
julia> subtypes(AbstractString)
6-element Array{Union{DataType, UnionAll},1}:
Base.SubstitutionString
Base.Test.GenericString
DirectIndexString
RevString
String
SubString
同样,与此相反的是超类型
,但是,与此相反,如果您想沿着树向上移动,则必须分步进行。同样,子类型
也只给您一个级别的子类型,您仍然可以递归地使用它沿着类型树向下移动
如果您的意思是只查找属于该类型的子类型的具体实现,那么可以递归地遍历所有子类型,直到到达底部,然后还可以进一步使用isleaftype
来测试它们是否是该类型之上的具体类型
注意:参数化类型可能会返回false和isleaftype
,即使它下面没有子类型。e、 g.isleaftype(子字符串)
返回false,但isleaftype(子字符串{String})
返回true