【发布时间】:2019-05-29 03:46:58
【问题描述】:
假设我拥有一个名为 Julia 的普通函数的具体类型,F = typeof(f)。是否可以从F 找回f?我认为这原则上应该可行,因为F 是单例类型。
【问题讨论】:
标签: reflection julia
假设我拥有一个名为 Julia 的普通函数的具体类型,F = typeof(f)。是否可以从F 找回f?我认为这原则上应该可行,因为F 是单例类型。
【问题讨论】:
标签: reflection julia
您可以使用Core.Compiler.singleton_type 函数,该函数返回instance 字段以获取具体的DataType。我认为这个函数在编译期间用于与Core.Compiler 中的相同目标(不仅用于此目标)。这可能被认为比直接访问instance 字段“更内部”。
julia> Core.Compiler.singleton_type(typeof(sum))
sum (generic function with 13 methods)
【讨论】:
我会使用F.instance,但也许有更好的解决方案(因为这个使用的是内部组件)。
【讨论】: