En Ruby, las variables se declaran de forma dinámica, es decir, no es necesario especificar el tipo de dato al crearlas. El tipo se asigna automáticamente según el valor que se les asigne. Además, las variables en Ruby tienen diferentes tipos de alcance que se identifican por el prefijo de su nombre.
Ruby clasifica las variables según su alcance. Aquí están los tipos principales:
nombre = "Ruby"
edad = 25
@
y son exclusivas de la instancia de una clase.
@nombre = "Instancia"
@@
y son compartidas entre todas las instancias de una clase.
@@contador = 0
$
y están disponibles en cualquier parte del programa.
$variable_global = "Disponible en todo el programa"
PI = 3.1416
Tipo | Prefijo | Alcance | Ejemplo |
---|---|---|---|
Variable local | Ninguno | Método o bloque |
edad = 30
|
Variable de instancia |
@
|
Instancia de una clase |
@nombre = "Ruby"
|
Variable de clase |
@@
|
Toda la clase |
@@contador = 1
|
Variable global |
$
|
Todo el programa |
$config = "global"
|
Constante | Mayúscula | Programa o módulo |
PI = 3.1416
|
nombre = "Juan"
puts nombre # Salida: Juan
class Persona
def initialize(nombre)
@nombre = nombre
end
def mostrar_nombre
puts @nombre
end
end
persona = Persona.new("María")
persona.mostrar_nombre # Salida: María
class Contador
@@contador = 0
def incrementar
@@contador += 1
end
def mostrar_contador
puts @@contador
end
end
contador1 = Contador.new
contador1.incrementar
contador1.mostrar_contador # Salida: 1
$variable_global = "Global"
def mostrar_variable_global
puts $variable_global
end
mostrar_variable_global # Salida: Global
PI = 3.1416
puts PI # Salida: 3.1416
Consulta la documentación oficial de Ruby para más detalles sobre las variables y su gestión.
Jorge García
Fullstack developer