Ruby symbol
Add : to characters.
Example
madoka = :"madoka" # :madoka homuhomu = :#{madoka}homuhomu" # :madokahomuhomu sayaka = :'sayaka' # :sayaka pepe = :pepe # :pepe kyoko = %s(kyoko) # :kyoko kyoko = %s{kyoko} # :kyoko
Convert to String
to_sym
homuhomu = :homuhomu akemihomura = homuhomu.to_sym
Convert to Symbol
to_s
homuhomu = "homuhomu" akimihomura = homuhomu.to_s
Object
Check identity, use object_id
Symbol is faster to use hash key, but it is not the target of garbage collection.
If you use key a lot, use string
"kiririn" == "kiririn" # true "kiririn".equal? "kiririn" # false :kiririn == :kiririn # true :kiririn.equal? :kiririn # true
Different from String?
If variable is same, symbol is same. To check this, you can use eql?
homuhomu = :homuhomu homu = :homuhomu homun = :homuhomu
homuhomu, homu, homun is same.