0Pricing
Ruby Academy · Lección

Symbols frente a strings

Cuándo usar symbols

Symbols frente a strings es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué es un símbolo?

Un símbolo es un nombre ligero e inmutable escrito con dos puntos iniciales, como :name. Los símbolos se usan a menudo como identificadores y claves de hashes.

status = :active
puts status
puts status.class

Los símbolos son inmutables

A diferencia de las cadenas, los símbolos no se pueden modificar. Una vez que existe :hello, permanece igual para siempre.

puts :hello.frozen?
puts "hello".frozen?

El mismo símbolo, el mismo objeto

Cada uso del mismo símbolo apunta a un único objeto compartido en memoria. Dos cadenas iguales suelen ser objetos distintos.

puts :ruby.object_id == :ruby.object_id
puts "ruby".object_id == "ruby".object_id

Por qué los símbolos ahorran memoria

Como los símbolos idénticos comparten un objeto, usar símbolos como claves repetidas ahorra memoria. Las cadenas crearían un objeto nuevo cada vez.

ids = [:a, :a, :a]
puts ids.map(&:object_id).uniq.length

Convertir entre ambos tipos

Use to_sym para crear un símbolo a partir de una cadena y to_s para hacer la conversión inversa.

word = "color"
sym = word.to_sym
puts sym
puts sym.to_s.upcase

Los símbolos como claves de hash

Los símbolos son las claves de hash más habituales en Ruby porque son rápidos y nunca cambian.

person = { name: "Ada", age: 36 }
puts person[:name]
puts person[:age]

La sintaxis abreviada

Cuando las claves son símbolos, name: "Ada" es una forma abreviada de :name => "Ada". Ambas crean claves de símbolos.

a = { color: "red" }
b = { :color => "red" }
puts a == b

Símbolos en llamadas a métodos

Los símbolos dan nombre a métodos en herramientas como send y map(&:method). La forma &:upcase convierte un símbolo en un bloque.

words = ["a", "b", "c"]
puts words.map(&:upcase).inspect

Cuándo usar una cadena

Use una cadena cuando el valor sea un dato que vaya a mostrar, construir o modificar: nombres, mensajes o contenido de archivos. Las cadenas tienen numerosos métodos para trabajar con texto.

greeting = "Hello"
greeting << ", world"
puts greeting

Cuándo usar un símbolo

Use un símbolo para identificadores fijos: claves de hash, estados o nombres de opciones. Indican la intención y no se modifican accidentalmente.

def move(direction)
  puts "Moving #{direction}"
end
move(:north)

Comparar símbolos y cadenas

Un símbolo y una cadena con las mismas letras no son iguales. Son tipos diferentes.

puts :name == "name"
puts :name.to_s == "name"

Comprobación rápida

Determine cuánto sabe sobre los símbolos.

Resumen

Ahora conoce la diferencia:

  • los símbolos son inmutables, compartidos e ideales como claves e identificadores
  • las cadenas son datos de texto mutables y versátiles
  • convierta entre ambos tipos con to_sym y to_s
  • :a == "a" es falso

Siguiente: crear y leer hashes.

config = { mode: :fast }
puts config[:mode]

Preguntas frecuentes

¿La lección «Symbols frente a strings» es gratis?

Sí — el texto completo de «Symbols frente a strings» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Symbols frente a strings»?

Cuándo usar symbols Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ruby Academy?

No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Symbols frente a strings»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?

Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Symbols frente a strings
  2. Creación y lectura de hashes
  3. Iteración de hashes
  4. Valores predeterminados y combinación
← Volver a Ruby Academy