Refactor VM and operators
This commit is contained in:
@@ -24,6 +24,20 @@ func (m Module) Inspect() string {
|
||||
return fmt.Sprintf("<module '%s'>", m.Name)
|
||||
}
|
||||
|
||||
func (m *Module) Get(index Object) (Object, error) {
|
||||
key, ok := index.(Hashable)
|
||||
if !ok {
|
||||
return nil, fmt.Errorf("invalid module attribute %s", index.Type())
|
||||
}
|
||||
|
||||
attr, found := m.Attrs.(*Hash).Pairs[key.HashKey()]
|
||||
if !found {
|
||||
return &Null{}, nil
|
||||
}
|
||||
|
||||
return attr.Value, nil
|
||||
}
|
||||
|
||||
func (m Module) Compare(other Object) int {
|
||||
return 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user