Identificadores de objetos y símbolos en Ruby
Identificadores de objetos: Link to heading
En Ruby, cada variable que se declara tiene un identificador único (object_id) que hace referencia al objeto que contiene. Aunque dos variables tengan el mismo contenido, sus identificadores serán diferentes.
Ejemplo: Link to heading
text = "Hello"
text_2 = "Hello"
text.object_id # => 1234567890
text_2.object_id # => 9876543210
# Con los strings, aunque el contenido pueda ser el mismo, los IDs son diferentes
Símbolos: Link to heading
Los símbolos son valores que no cambian a lo largo del código. Se utilizan para representar nombres de métodos, variables y otras entidades que no necesitan ser modificadas.
Ejemplo:
color = :red
color_2 = :red
color.object_id # => 1234567890
color_2.object_id # => 1234567890
# Variables con el mismo simbolo comparten el mismo ID
Los símbolos tienen las mismas propiedades que las variables normales: Link to heading
- Se pueden usar como claves en hashes.
- Se pueden usar como argumentos de métodos.
- Se pueden comparar con otros símbolos.
Convertir un símbolo a una cadena: Link to heading
:red.class # => Simbolo / Symbol
:red.to_s # => "red"
Ventajas de usar símbolos: Link to heading
- Son más eficientes en memoria que las cadenas.
- Son más rápidos de comparar que las cadenas.
- Son más fáciles de leer y entender que las cadenas.
Cuándo usar símbolos: Link to heading
- Para nombres de métodos, variables y otras entidades que no cambian.
- Como claves en hashes.
- Como argumentos de métodos que esperan un nombre de símbolo.
En resumen: Link to heading
- Los identificadores de objetos son únicos para cada variable, incluso si tienen el mismo contenido.
- Los símbolos son valores inmutables que se utilizan para representar nombres de métodos, variables y otras entidades.
- Los símbolos son más eficientes en memoria, rápidos de comparar y fáciles de leer que las cadenas.
¡Sigue aprendiendo sobre los identificadores de objetos y símbolos para aprovechar al máximo las ventajas de Ruby!