У меня есть переменная ex
, которая представляет собой Expr, я хочу иметь функцию 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))
не выполняет работу.
Какой более чистый способ сделать это