environment.go 366 B

1234567891011121314151617181920
  1. package object
  2. func NewEnvironment() *Environment {
  3. s := make(map[string]Object)
  4. return &Environment{store: s}
  5. }
  6. type Environment struct {
  7. store map[string]Object
  8. }
  9. func (e *Environment) Get(name string) (Object, bool) {
  10. obj, ok := e.store[name]
  11. return obj, ok
  12. }
  13. func (e *Environment) Set(name string, val Object) Object {
  14. e.store[name] = val
  15. return val
  16. }