我正在寻找一个Julia函数,当应用于模块名称时,它会列出模块中可用的函数。
基本上,我不想浏览源代码,我注意到许多模块的文档通常都没有。
答案 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