Ruby – What is the difference between intern and to_sym

They seem to be aliases for the same thing. From the documentation you can see that the sample code of intern uses to_sym:

intern → symbol

Returns the Symbol corresponding to str, creating the symbol if it did
not previously exist. See Symbol#id2name.

"Koala".intern         #=> :Koala
s="cat".to_sym       #=> :cat
s == :cat              #=> true
s="@cat".to_sym      #=> :@cat
s == :@cat             #=> true

This can also be used to create symbols that cannot be represented
using the :xxx notation.

'cat and dog'.to_sym   #=> :"cat and dog"

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)