Scalar value objects used as identifiers, mapping immutable strings to fixed internal values, according to the Ruby definition. This essentially indicates that symbols are immutable strings. An immutable object in programming is one that cannot be altered.
Before a word, a colon (:) is used to construct a Ruby symbol. It can be compared to an immutable string. A symbol is an instance of the Symbol class, and there is only one Symbol object for each symbol name.
In Ruby, a string is a changeable collection of characters or bytes. Immutable values, on the other hand, are symbols. A value, like the integer 2, is a number.