Tag Archive for scope

Conversión de tipos y alcance de variables.

Una vez hemos hablado un poco sobre las variables y los tipos de éstas, hablemos sobre cómo convertirlas y el alcance que tienen.

Alcance variables.

Cuando te refieres al alcance de una variable o al scope de la misma, haces referencia a, desde cuántos lugares puedo acceder a esa variable, es decir, si una variable es declarada dentro de un método, no podrás acceder a ella fuera de ese método, a menos claro que la declares como global.

En Ruby hay 3 tipos de variables, las globales, las de clase y las locales.

Las primeras se declaran con un signo de pesos ($) al inicio y pueden ser accedidas desde cualquier parte del script:

$global = "Uriel"
def ejecutar_global
 print $global
end
ejecutar_global()

En el caso de las variables de clase, son muy utilizadas en el desarrollo de aplicaciones web con Ruby on Rails, y su característica es que pueden ser accedidas desde cualquier parte de la clase en la que fueron declaradas, además  se identifican con un signo arroba al inicio (@), veamos el ejemplo:

class Ejemplo
  @global = ""
  def initialize()  
    @global = "Uriel"
  end  
  def ejecutar_global
    @global
  end	
end
e = Ejemplo.new()
print e.ejecutar_global()

Estoy muy seguro que el ejemplo anterior es mucho más complejo que lo que hasta ahora hemos visto, pero lo entenderás en futuros artículos, por ahora podrás ver cómo la variable @global es utilizada en distintos lugares de la clase.

Por último tenemos las variables locales, no iremos muy a fondo en ellas porque en realidad, son aquellas que no llevan un signo antes de su nombre, es decir las que vimos en el tutorial de Variables y Operadores.

Conversión de Tipos.

Nos enfocamos en 3 tipos de conversiones, de Real a Entero, de String a Entero y de Real/Entero a String.

Y lo ejemplificaremos de manera más sencilla a través de código.

  entero = 3.21.to_i #convertimos un flotante a entero.
  entero = "9".to_i #convertimos una cadena a entero
  cadena = entero.to_s #convertimos el entero a cadena
  flotante = "3.21".to_f #convertimos una cadena a flotante.

Como los ejemplos lo describen, to_f convierte un objeto entero o cadena a flotante, to_i lo hace a entero y to_s a cadena.

Seguimos avanzando y en el siguiente tema veremos manejo de cadenas con Ruby.