ruby methods symbol

Ruby-¿Cuál es la diferencia entre pasante y to_sym



methods symbol (1)

Parecen ser alias para la misma cosa. De la documentación , puede ver que el código de muestra del intern usa to_sym :

pasante → símbolo

Devuelve el Símbolo correspondiente a str, creando el símbolo si no existía anteriormente. Ver el Symbol#id2name .

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

Esto también se puede usar para crear símbolos que no se pueden representar con la notación: xxx.

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

Encontré la documentación de Ruby String y probé los métodos. Dos métodos que encontré son similares son los métodos to_sym e interno.

"cat".intern => :cat "cat".to_sym => :cat

Busqué Stack Overflow y, sorprendentemente, esto no se ha preguntado. Yo mismo no puedo encontrar ninguna diferencia entre los dos, así que pensé que podría preguntar esto.

Si hacen lo mismo, ¿hay un método más rápido que el otro? Si es así, tendría sentido usar ese método.