import - 是否可以在 Julia 中直接导入宏?

标签 import macros namespaces julia

我想从包中加载单个宏,而不包含包的所有其他部分。就像如何导入特定函数一样,例如:

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

但是请注意,usingimport 语句仍然会加载整个包。您可以控制的部分是将哪些名称添加到您的命名空间中。

关于import - 是否可以在 Julia 中直接导入宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64823505/

相关文章:

ios - 无法正确将框架导入到xcode项目中

java - Gson -> 导入带有对象的 JSON

c++ - namespace 别名与定义的实际优势

c - 在参数数量上重载宏

带有命名空间的 PHPUnit getMock()

java - 在Java中更改Import的名称,或者导入两个同名的类

java - 与maven集成后无法解析同一包中的类

C++__FILE__宏的类型是什么

c# - 在 c# 项目中移动文件时是否必须更改命名空间

.cc 文件中包含 C++ 命名空间