Module Julia列出模块提供的所有函数
我正在寻找一个Julia函数,当应用于模块名时,它列出了通过模块可用的函数Module Julia列出模块提供的所有函数,module,package,julia,Module,Package,Julia,我正在寻找一个Julia函数,当应用于模块名时,它列出了通过模块可用的函数 基本上,我不想浏览源代码,我注意到许多模块的文档通常并没有全部内容 名称有效,主要是: module MyMod test() = 3 foo() = 4 end names(MyMod, true) 给我 4-element Array{Symbol,1}: :eval :test :foo :MyMod 只需去掉模块名称并对上一个答案稍加扩展,以下内容似乎有效: function module_f
基本上,我不想浏览源代码,我注意到许多模块的文档通常并没有全部内容
名称
有效,主要是:
module MyMod
test() = 3
foo() = 4
end
names(MyMod, true)
给我
4-element Array{Symbol,1}:
:eval
:test
:foo
:MyMod
只需去掉模块名称并对上一个答案稍加扩展,以下内容似乎有效:
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
如果模块中的一个方法没有文档化,那么它就不可能用于外部消费。在像Julia这样的语言中,没有办法将事物
私有化和“我们都是成年人”的哲学,简单地不记录某些东西是相当普遍的。Julia 0.5.x似乎不起作用。