我想创建宏的名称别名。我当前的实现是创建一个调用并传递参数的新宏,例如:
macro print(xs...)
quote
@show $(xs...)
end
end
有没有更好/内置的方式?
答案 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
。