Explain about the String Abstract data type operations
Symbol ADT has no concatenation operations, but presuming we have a full-featured String ADT, symbols can be concatenated by converting them to strings, concatenating strings, then converting result back to a symbol. In the same way, String ADT operations can be used to do other manipulations. This explains why Symbol ADT has a rather odd mix of operations: Symbol ADT models the Symbol class in Ruby, and this class only has operations often used for Symbols, with most string operations appearing in String class.