【发布时间】:2018-11-20 21:24:12
【问题描述】:
我有一个代表 Expr 的变量 ex,我想要一个函数 exprwrap 从中创建一个 Expr,当评估时等于 ex。
目前我实现如下:
ex = :(my + expr)
"Make an expression that when evaled returns the input ex."
function exprwrap(ex::Expr)
ret = :(:(du + mmy))
ret.args[1] = ex
ret
end
eval(exprwrap(ex)) == ex
请记住,my 和 expr 未定义,因此 :(:($$ex)) 无法完成这项工作。
有什么更简洁的方法来做到这一点?
【问题讨论】:
标签: julia metaprogramming