--- layout: default ---

Function compile #

Parse and compile an expression. Returns a an object with a function `evaluate([scope])` to evaluate the compiled expression.

Syntax #

```js math.compile(expr) // returns one node math.compile([expr1, expr2, expr3, ...]) // returns an array with nodes ```

Parameters #

Parameter | Type | Description --------- | ---- | ----------- `expr` | string | string[] | Array | Matrix | The expression to be compiled

Returns #

Type | Description ---- | ----------- {evaluate: Function} | Array.<{evaluate: Function}> | code An object with the compiled expression

Throws #

Type | Description ---- | ----------- Error |

Examples #

```js const code1 = math.compile('sqrt(3^2 + 4^2)') code1.evaluate() // 5 let scope = {a: 3, b: 4} const code2 = math.compile('a * b') // 12 code2.evaluate(scope) // 12 scope.a = 5 code2.evaluate(scope) // 20 const nodes = math.compile(['a = 3', 'b = 4', 'a * b']) nodes[2].evaluate() // 12 ```

See also #

[parse](parse.html), [evaluate](evaluate.html)