The asFunction
and def
methods evaluate function code. Here is how asFunction
can be used:
let env = gololang.EvaluationEnvironment() let code = "return (a + b) * 2" let f = env: asFunction(code, "a", "b") println(f(10, 20))
It evaluates straight code as the body of a function. Note that imports
can be used to specify
import
statements to be available while evaluation the code:
env: imports("java.util.LinkedList", "java.util.HashMap"): asFunction("""let l = LinkedList() let m = HashMap()""")
The def
method is similar, except that it has the parameters definition in the code to evaluate:
let env = gololang.EvaluationEnvironment() let code = "|a, b| -> (a + b) * 2" let f = env: def(code) println(f(10, 20))