Runtime evaluation/In an environment: Difference between revisions

Added Julia language
(Added Julia language)
(Added Julia language)
Line 560:
@evalwithx(:(2 ^ x), 3, 5) # quoted expression (AST)
@evalwithx("2 ^ x", 3, 5) # expression to parse (String)</lang>
 
One can even perform the task without using macros:
 
<lang 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::String, a, b) = evalwithx(parse(expr), a, b)
 
evalwithx(:(2 ^ x), 3, 5)
evalwithx("2 ^ x", 3, 5)</lang>
 
=={{header|Kotlin}}==
Anonymous user