我想为宏创建一个别名。我当前的实现是创建一个新的宏来调用并传递参数,例如:
macro print(xs...)
quote
@show $(xs...)
end
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的/内置的方法?
在 Julia 1.3 中,您可以使用var"@macroname"
如下语法:
var"@print" = var"@show"
Run Code Online (Sandbox Code Playgroud)
然后,@show
将被有效地别名为@print
.
你还可以这样做:
julia> @eval const $(Symbol("@print")) = $(Symbol("@show"))
@show (macro with 1 method)
julia> @print 1 + 1
1 + 1 = 2
2
Run Code Online (Sandbox Code Playgroud)