我有一个嵌套的模块结构,如下所示:
module TestMod
module B
export BB
module BB
end
end
module C
module D
#using ...B
importall ...B
using BB # => ERROR: ArgumentError: Module BB not found in current path.
end
end
end
我希望在using BB
中module D
,但似乎唯一的方法是为BB
(例如using B.BB
)写一个完整的路径,{{1} }或import
没有帮助。
答案 0 :(得分:4)
在您使用B
后,您可以从当前模块进行相对导入,导出B
的所有导出模块,包括BB
。参见
julia> module TestMod
module B
export BB
module BB
x = 2
export x
end
end
module C
module D
using ...B
using .BB
println(x)
end
end
end
2
TestMod
语法using .BB
表示在当前模块中使用名称为BB
的模块,而using BB
表示使用顶级模块BB
;也就是说,它会查找Main.BB
,这不是你想要的。