| 610 | } |
| 611 | |
| 612 | func ExamplePatch() { |
| 613 | program, err := expr.Compile( |
| 614 | `greet.you.world + "!"`, |
| 615 | expr.Patch(&patcher{}), |
| 616 | ) |
| 617 | if err != nil { |
| 618 | fmt.Printf("%v", err) |
| 619 | return |
| 620 | } |
| 621 | |
| 622 | env := map[string]any{ |
| 623 | "greet": "Hello", |
| 624 | "get": func(a, b string) string { |
| 625 | return a + ", " + b |
| 626 | }, |
| 627 | } |
| 628 | |
| 629 | output, err := expr.Run(program, env) |
| 630 | if err != nil { |
| 631 | fmt.Printf("%v", err) |
| 632 | return |
| 633 | } |
| 634 | fmt.Printf("%v", output) |
| 635 | |
| 636 | // Output: Hello, you, world! |
| 637 | } |
| 638 | |
| 639 | func ExampleWithContext() { |
| 640 | env := map[string]any{ |