package object import "fmt" type String struct { Value string } func (s *String) Type() ObjectType { return STRING_OBJ } func (s *String) Inspect() string { return fmt.Sprintf("%#v", s.Value) } func (s *String) Clone() Object { return &String{Value: s.Value} } func (s *String) String() string { return s.Value } func (s *String) Compare(other Object) int { if obj, ok := other.(*String); ok { switch { case s.Value < obj.Value: return -1 case s.Value > obj.Value: return 1 default: return 0 } } return 1 }