如何从函数类型获取函数?

时间:2019-05-28 16:25:00

标签: reflection julia

假设我拥有一个普通的具体类型,名为Julia函数F = typeof(f)。是否可以从f回到F?我认为这应该原则上可行,因为F是单例类型。

2 个答案:

答案 0 :(得分:3)

我会使用F.instance,但是也许有更好的解决方案(因为这是使用内部构件)。

答案 1 :(得分:3)

您可以使用Core.Compiler.singleton_type函数,该函数返回instance字段以获取具体的DataType。我认为在编译过程中,此功能与Core.Compiler中的目标(不仅是目标)相同。与直接访问instance字段相比,这可能被认为是“更内部的”。

julia> Core.Compiler.singleton_type(typeof(sum))
sum (generic function with 13 methods)