我想从包中加载单个宏,而不包含包的所有其他部分。就像如何导入特定函数一样,例如:
using Package1: function1
我想要这样做的原因不仅是为了仅加载包中所需的部分,而且还为了明确显示宏的加载位置。
最佳答案
是的,这是可能的。模块或包中的任何顶级变量都可以导入。
julia> module A
x = 1
macro foo(ex)
ex
end
end
Main.A
julia> using .A: x, @foo
julia> x
1
julia> @foo 2 + 2
4
但是请注意,using
和 import
语句仍然会加载整个包。您可以控制的部分是将哪些名称添加到您的命名空间中。
关于import - 是否可以在 Julia 中直接导入宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64823505/