Strings são sequências mutáveis de caracteres; símbolos (:name) são identificadores imutáveis e internados — o mesmo símbolo é o exato mesmo objeto na memória em qualquer lugar. Símbolos são usados como identificadores leves e eficientes (especialmente chaves de hash), enquanto strings contêm dados de texto reais.
A diferença fundamental: identidade e mutabilidade
.object_id == .object_id
<<
.object_id == .object_id
.frozen?
