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))