Entrada

Variables uso y alcance

Ruby: Variables uso y alcance

Las variables son uno de los conceptos fundamentales en Ruby y en la programación en general. Permiten almacenar valores, referenciarlos por nombre y reutilizarlos a lo largo de un programa. Antes de ver estructuras más complejas, es importante entender cómo Ruby maneja las variables y hasta dónde llegan.

¿Qué es una variable en Ruby?

Una variable es un nombre que apunta a un objeto en memoria. Ruby no obliga a declarar el tipo de una variable, ya que utiliza tipado dinámico.

1
2
3
mensaje = "Hola Ruby"
contador = 10
activo = true

El tipo del valor lo define el objeto asignado, no la variable.


Asignación de variables

En Ruby, la asignación se realiza con el operador =:

1
nombre = "Marco"

Esto significa que la variable nombre referencia al objeto "Marco". Si el valor cambia, la variable simplemente apunta a otro objeto.


Convención de nombres

Ruby utiliza convenciones claras para diferenciar tipos de variables:

TipoPrefijo
Variable localnombre
Variable de instancia@nombre
Variable de clase@@nombre
Variable global$nombre
ConstanteNOMBRE

Estas convenciones son clave para entender el alcance.


Variables locales

Son las más comunes y solo existen dentro del contexto donde se definen.

1
2
3
4
def saludar
  mensaje = "Hola"
  puts mensaje
end

Fuera del método, mensaje no existe.


Variables de instancia

Se identifican por @ y pertenecen a una instancia de una clase.

1
2
3
4
5
class Usuario
  def initialize(nombre)
    @nombre = nombre
  end
end

Estas variables pueden ser usadas por distintos métodos dentro del mismo objeto.


Variables de clase

Se identifican con @@ y son compartidas por todas las instancias de una clase.

1
2
3
class Contador
  @@total = 0
end

Su uso es limitado y, en muchos casos, se prefieren otras alternativas.


Variables globales

Las variables globales comienzan con $ y están disponibles en todo el programa.

1
$modo_debug = true

Se recomienda evitarlas, ya que hacen el código más difícil de mantener y depurar.


Constantes

Las constantes se escriben en mayúsculas y se utilizan para valores que no deberían cambiar.

1
PI = 3.1416

Ruby permite modificar constantes, pero mostrará una advertencia. Por convención, no se deben cambiar.


Alcance (scope) de las variables

El alcance define desde dónde se puede acceder a una variable.

En Ruby, el alcance depende de:

  • métodos
  • clases
  • módulos
  • bloques

Ejemplo de bloque:

1
2
3
4
5
3.times do
  numero = 10
end

# numero no existe aquí

Aunque el bloque se ejecuta, la variable no es accesible fuera de él.

En resumen:

  • Ruby usa tipado dinámico
  • Las variables apuntan a objetos
  • El prefijo define el alcance
  • El scope evita efectos secundarios
  • Seguir las convenciones hace el código más claro
Esta entrada está licenciada bajo CC BY 4.0 por el autor.