Ruby · Essencial · Português · Técnico
símbolo
Valor imutável e único, escrito como :nome, usado como identificador leve. Dois símbolos iguais são o mesmo objeto, por isso servem de chave de hash.
Onde usar
Aparece em chaves de hash, como { nome: 'Ana' }, e em chamadas como send(:save). Reusar o mesmo símbolo não aloca objeto novo, ao contrário de strings iguais.
Em código
:oi.object_id == :oi.object_id # => true
'oi'.object_id == 'oi'.object_id # => false
user = { nome: 'Ana', idade: 30 }
user[:nome] # => "Ana"Exemplos
Use símbolo como chave do hash, não string.
O to_sym transforma a string em símbolo.
Cuidado
Não é uma string: :a e 'a' são objetos diferentes, e símbolo não tem métodos de texto como gsub.
Sinônimos
symbol