如何在julia中别名宏

时间:2018-04-29 08:51:39

标签: macros julia

我想创建宏的名称别名。我当前的实现是创建一个调用并传递参数的新宏,例如:

macro print(xs...)
  quote
    @show $(xs...)
  end
end

有没有更好/内置的方式?

2 个答案:

答案 0 :(得分:3)

你也可以这样做:

julia> @eval $(Symbol("@print")) = $(getfield(Main, Symbol("@show")))
@show (macro with 1 method)

julia> @print 1 + 1
1 + 1 = 2
2

答案 1 :(得分:2)

在Julia 1.3中,您可以使用var"@macroname"语法,如下所示:

var"@print" = var"@show"

然后,@show将有效地别名为@print