VII. Variables
1. ¿Qué es una variable?
Una variable es un identificador utilizado para almacenar un valor específico en memoria, con el fin de referenciarlo desde el código cuando sea necesario
Las variables pueden cambiar su valor durante la ejecución del programa, en función del flujo que este tome
2. Declarar una variable
irb(main):000> edad = 18
=> 18
irb(main):000> puts(edad)
18
=> nil
3. Nombrar variables
Utilizar
snake_case
para definir variables como buena prácticaAl trabajar con variables en métodos, clases o bloques los bloques, solo el ámbito interno puede acceder a variables inicializadas en un ámbito externo; pero el ámbito externo no puede acceder a variables declaradas en un ámbito interno
# Mala práctica
e = 29
string_Name = "Kenny"
# Buena práctica
mi_edad = 19
mi_nombre = "Kenny"
IMPORTANTE
No confundir la mala práctica al definir variables contra una estructura ofuscada por versionado seguro. Definir variables con nombres en formato char unitario o dual no implica mala práctica mientras exista una versión original que este bien documentada
# Versión original documentada
mi_edad = 19
mi_nombre = "Kenny"
# Versión ofuscada de definición de variables
a = 19
n = "Kenny"
4. Incremento en variables
Realizar incrementos en el valor de una variable numérica
irb(main):000> edad = 29
=> 29
irb(main):000> edad = edad + 10
=> 39
irb(main):000> edad += 10
=> 49
TIP
La sentencia de incremento x = x + n
es lógicamente igual a x += n
, y es así para todos los operadores conocidos (/, *, **, etc)
5. Interpolación
La interpolación de variables permite evaluar el valor de una variable mediante un marcador de posición dentro de un string u otra sentencia
Como en todos los lenguajes, Ruby tiene su propia forma de declarar una interpolación de variables, la cual comienza con un símbolo asterisco seguido de la variable a llamar entre llaves
#{}
Se recomienda usar comillas dobles en la definición del string desde donde se interpolará una variable para no generar problemas de tipado, como en ciertas ocasiones al definir el string con comillas simples
# Interpolación en string definido con comillas dobles
irb(main):000> nombre = "Kenny"
=> "Kenny"
irb(main):000> puts("Hola, #{nombre}")
Hola, Kenny
=> nil
# Error en interpolación en string definido con comillas simples
irb(main):000> nombre = "Kenny"
=> "Kenny"
irb(main):000> puts('Hola, #{nombre}')
Hola, #{nombre}
=> nil
6. Tipos de variables
Ruby tiene cinco tipos principales de variables, cada una con un prefijo diferente que plantea su modo de declaración e indica su ámbito y comportamiento
Variable local
No tiene
nombre = "Ana"
Dentro de métodos, bloques
Variable global
$
$global = 42
Accesible desde cualquier parte
Variable de instancia
@
@edad = 20
Dentro de instancias de clases
Variable de clase
@@
@@contador = 0
Compartida entre instancias
Constante
No tiene, pero se declaran siempre en mayúsculas
PI = 3.14
De acceso global o por clase
# Script de variables vars.rb
$global_var = "Estoy en todo el programa" # Variable global
class Persona
@@contador = 0 # Variable de clase
PI = 3.1416 # Constante
def initialize(nombre)
@nombre = nombre # Variable de instancia
@@contador += 1
end
def mostrar
local_var = "Hola" # Variable local
puts "#{local_var}, soy #{@nombre} y ya hay #{@@contador} personas"
puts "Constante PI: #{PI}"
puts "Global: #{$global_var}"
end
end
p1 = Persona.new("Javier")
p1.mostrar
Última actualización