Anterior: Guía de estilo Subir: Tabla de Contenido Siguiente: Scripts

Ruby

This topic has missing or partial documentation. Please help us improve it.

See How-To - Write Documentation

Una forma de acercarse a la comprensión de cómo Rubinius implementa Ruby comienza con la comprensión de cómo funciona los distintos conceptos de Ruby. El propósito de este tema es introducir las características Rubinius como conceptos de Ruby que deberían ser familiares. La documentación de Rubinius generalmente asume que ya tienes experiencia con Ruby o con coneptos de máquinas virtuales y compiladores.

El concepto de scope es central a los temas siguientes. En la sintaxis de Ruby, scope es generalmente un concepto derivado. En otras palabras, no hay elementos sintácticos cuya responsablidad primaria sea delimitar o referenciar un scope. Por este motivo, puede ser confuso hablar de scope. Un ejemplo de esto es una típica definición de método:

a = 5

def diligent(a)
  puts a * 2
end

Aquí, el metodo #diligent nos da un nombre para referirnos al cálculo puts a * 2. Pero el método también define un scope léxico cerrado para la variable a. El scope es cerrado porque la sentencia a = 5 fuera de la definición del método no tiene relación con la variable a en #diligent.

Usualmente se dice que todo en Ruby es un objeto. Esto no es del todo cierto. La mayoría de las cosas en Ruby son objetos, pero algunas cosas que son absolutamente esenciales para ejecutar código Ruby no son necesariamente objetos accesibles. Cuales de las cosas del ambiente de ejecución son objetos en Ruby depende altamente de la implementación. El scope es una de esas cosas.

Cada uno de los siguientes elementos de Ruby se discuten desde la perspectiva de entender como las implementa Rubinius y como se involucra el concepto de scope en cada uno.

  1. Scripts
  2. Métodos
  3. Constantes
  4. Clases y Módulos
  5. Bloques y Procs
  6. Variables locales
  7. Variables de instancia
  8. Variables de clase
  9. Variables globales
Anterior: Guía de estilo Subir: Tabla de Contenido Siguiente: Scripts

Tweet at @rubinius on Twitter or email community@rubini.us. Please report Rubinius issues to our issue tracker.