Julia在模块中显示功能

时间:2014-07-31 18:57:28

标签: module package julia

我正在寻找一个Julia函数,当应用于模块名称时,它会列出模块中可用的函数。

基本上,我不想浏览源代码,我注意到许多模块的文档通常都没有。

2 个答案:

答案 0 :(得分:12)

names主要是:

module MyMod
  test() = 3
  foo() = 4
end
names(MyMod, true)

给了我

4-element Array{Symbol,1}:
 :eval
 :test
 :foo
 :MyMod

只需删除模块名称eval

即可

答案 1 :(得分:5)

稍微扩展上一个答案,以下似乎有效:

function module_functions(modname)
    list = Symbol[]
    for nm in names(modname)
        typeof(eval(nm)) == Function && push!(list,nm)
    end
    return list
end

示例:

using PyPlot
module_functions(PyPlot)

在REPL中生成以下输出:

165-element Array{Symbol,1}:
 :contourf
 :over
 :xticks
 :ion
 :flag
 :summer
 :stackplot
 :tricontourf
 :minorticks_on
 :gray
 :savefig
 :errorbar
 :box
 :figure
 :vlines
 :subplot_tool
 :jet
 ⋮
 :locator_params
 :imshow
 :pie
 :sci
 :axhline
 :streamplot
 :hist2d
 :copper
 :text3D
 :Axes3D
 :loglog
 :zticks
 :hexbin
 :pcolor
 :semilogy
 :thetagrids