Julia:如何轻松查看函数的源代码(例如来自Statistics.jl包的“quantile”函数)

ecj*_*cjb 7 function julia

有什么简单的方法可以查看函数(例如包quantile中的函数Statistics.jl)完成的精确计算。这里的目标只是为了了解该特定函数完成的计算,而不是编辑整个包。

提前谢谢了

phi*_*ler 5

Base.functionloc,它将找到定义方法的文件和行;但您必须指定您想要作为元组参数查看的方法的特定类型:

julia> functionloc(cos, (Float64,))
("/usr/local/julia-1.0.0/bin/../share/julia/base/special/trig.jl", 100)

julia> functionloc(cos)
ERROR: function has multiple methods; please specify a type signature
...
Run Code Online (Sandbox Code Playgroud)

  • 还有宏“@functionloc”,在许多情况下可能更容易使用,因为您可以只使用函数调用语法:“@functionloc cos(3.14)”。无论您的代码中有什么函数调用,您都可以在其前面插入“@functionloc”。 (5认同)

Bil*_*ill 3

在在线文档中查找:

https://docs.julialang.org/en/v1/stdlib/Statistics/#Statistics.quantile

并单击功能描述底部的“源”链接。

请注意,与 Base 中的许多函数一样,函数名称用于多个函数,以支持多种数据类型。这意味着彻底研究源代码将需要查看多个函数。