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) Equal(other Object) bool { if obj, ok := other.(*String); ok { return s.Value == obj.Value } return false } func (s *String) Less(other Object) bool { if obj, ok := other.(*String); ok { return s.Value < obj.Value } return false }