我希望给宏起一个别名。我的当前实现方法是创建一个新的宏,并调用并传递参数,例如:
macro print(xs...)
quote
@show $(xs...)
end
end
有没有更好/内置的方法来实现这个功能?
var"@macroname"
语法,如下所示:var"@print" = var"@show"
那么,@show
将被有效地别名为 @print
。
const
:const var"@print" = var"@show"
。 - HarmonicaMusejulia> @eval const $(Symbol("@print")) = $(Symbol("@show"))
@show (macro with 1 method)
julia> @print 1 + 1
1 + 1 = 2
2
@eval const $(Symbol("@print")) = $(Symbol("@show"))
这样的写法更简单,不需要假设宏在“Main”中可用,只要它在分配的作用域内可用即可。 - fredrikekre