假设我在REPL或某处加载了一堆软件包,并且我正在使用引用酷模块CoolModule
的代码。我怎样才能弄清楚它属于哪个包?
答案 0 :(得分:4)
如果一个模块定义了几个子模块并且假设CoolModule
就是其中之一,你可以通过@which
找到它所属的模块/包:
julia> whos()
Base 23813 KB Module
Core 2858 KB Module
Main 26440 KB Module
ans 23865 KB Module
julia> @which Sys
Base
此处,Sys
是Base
的子模块。
答案 1 :(得分:2)
如果模块名称与包不一样,我会觉得很奇怪(事实上我假设模块名称和文件名 是相同的,直到你问这个)。但如果必须,你可以使用你终端的grep
(如果你使用的是linux),例如:
~/.julia/v0.6 $ grep "module CoolModule" -r
这将显示定义它的文件。例如。对于我系统上的模块StatsBase
:
tasos@tasos-VanB ~/.julia/v0.6 $ grep "module StatsBase" -r
StatsBase/src/StatsBase.jl:module StatsBase
Windows也有类似grep的命令find
。 (或者你可以只下载grep for windows)。