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.