RosettaCodeData/Task/Runtime-evaluation-In-an-environment/Julia/runtime-evaluation-in-an-environment-2.jl
2024-10-16 18:07:41 -07:00

9 lines
285 B
Julia

function evalwithx(expr::Expr, a, b)
a = eval(quote let x = $a; return $expr end end)
b = eval(quote let x = $b; return $expr end end)
return b - a
end
evalwithx(expr::AbstractString, a, b) = evalwithx(parse(expr), a, b)
evalwithx(:(2 ^ x), 3, 5)
evalwithx("2 ^ x", 3, 5)