Macros 在Julia中有没有办法将函数转换为表达式?
我正在尝试创建一个宏,它能够(可能是递归地)将函数转换为表达式,从而实现在该函数中应用的操作 作为可视化:Macros 在Julia中有没有办法将函数转换为表达式?,macros,julia,metaprogramming,Macros,Julia,Metaprogramming,我正在尝试创建一个宏,它能够(可能是递归地)将函数转换为表达式,从而实现在该函数中应用的操作 作为可视化: function sampleFunc(x) println(x) y = 2x return 2y* x end @macroIcannotImplement sampleFunc(x) 期望输出: quote println(x) y = 2x return 2y* x end Julia支持这样的提取还是应该开
function sampleFunc(x)
println(x)
y = 2x
return 2y* x
end
@macroIcannotImplement sampleFunc(x)
期望输出:
quote
println(x)
y = 2x
return 2y* x
end
Julia支持这样的提取还是应该开始搜索其他方法?是,使用:
你打算怎么处理这个?一般来说,它不会带你去好地方。你可能会对我在Arborist.jl中的一些想法感兴趣。但他们不倾向于实用的代码。
julia> using Revise, CodeTracking
julia> function sampleFunc(x)
println(x)
y = 2x
return 2y* x
end
sampleFunc (generic function with 1 method)
julia> @code_expr sampleFunc(3)
:(function sampleFunc(x)
#= REPL[2]:1 =#
#= REPL[2]:2 =#
println(x)
#= REPL[2]:3 =#
y = 2x
#= REPL[2]:4 =#
return (2y) * x
end)