Aprende a programar con Ruby

Descargando Ruby

Como lenguaje multiplataforma, Ruby ha sido portado a distintos sistemas operativos y arquitecturas. Esto significa que si tu desarrollas un programa en un PC (por ejemplo), será posible ejecutarlo en otra máquina distinta como es un MAC (por poner otro ejemplo).

Las siguientes instrucciones son para instalar Ruby en un PC. Para otras plataformas, ver el primer capítulo de la Why's (poignante) guide to ruby.

La forma más sencilla de instalar Ruby en un PC es mediante el Ruby One-Click Installer. Después de descargarlo instálalo aceptando todo por defecto. Al instalarse, las Variables de Entorno del Sistema son actualizadas, de tal forma que se incluya el directorio del ejecutable de Ruby: gracias a esto, podrás ejecutarle desde cualquier drectorio en tu PC.

La instalación de Ruby incluye la primera edición del libro "Programming Ruby" y el editor SciTe.

Directorios de la instalación

Supongamos que la instalación de Ruby fue en c:/ruby. Esta instalación creó una serie de directorios:

  • c:/ruby/bin es donde los ejecutables son instalados (incluyendo ruby e irb).
  • c:/ruby/lib/ruby/1.8 aquí están programas escritos en ruby. Estos ficheros son librerías de Ruby: proveen funcionalidades que puedes incorporar en tus programas.
  • c:/ruby/lib/ruby/1.8/i386-mswin32 contiene una serie de extensiones específicas del PC. Los ficheros en esta terminación acaban en .so o .dll (dependiendo de la plataforma). Estos ficheros con extensiones programadas en lenguaje C; dicho de otra forma: son fihceros binarios, compilados durante el proceso de instalación, que se pueden ejecutar desde Ruby.
  • c:/ruby/lib/ruby/site_ruby aquí es donde el administrador de tu sistema y/o tú podéis almacenar las extensiones y librerías de terceras partes: código escrito por ti mismo, o por otros.
  • c:/ruby/lib/ruby/gems es el sistema Ruby-Gemes, encargado de la instalación de nuevas herramientas.
  • c:/ruby/src es donde se halla el código fuente de Ruby.
  • c:/ruby/samples/RubySrc-1.8.6/sample aquí podrás encontrar algunos programas ejemplo escritos en Ruby.

El primer programa

Usemos el editor SciTE: Start/Programas/Ruby/SciTe. Se abre el editor. Para cambiar los parámetros de arranque, Options/Opens Global y allí modificar:

  • tabsize=2, indent.size=2 (tamaño del tabulador, y el identado) position.width=-1, position.height=-1 (arrancar maximizado)

Una vez cambiados los valores, pulsar Ctrl+S y Ctrl+S. Para modificar estos dos valores, otra forma es:

  • Ctrl+Shift+I - abre un diálogo donde modificar los valores anteriores. Tienen que ser =2.
  • F11 - para maximizar minimizar la ventana.

Lo último que falta antes escribir los programas, es un abrir una ventana de terminal para ver los resultados de los programas. Para ello hay que pulsar F8. Una vez ajustado el SciTE, lo siguiente es crear un directorio donde ir guardando los programas que vayamos creando.

'Hola'

En la ventana izquierda de SciTE (tiene que haber 2 ventanas después de pulsar F8), escribir:

#p001hola.rb  
puts 'Hola'

Ahora hay que guardar y ejecutar el programa. Las normas dicen que el nombre del fichero o directorio, es el nombre en minúsculas de la clase/módulo (más adelante se hablará de clases y módulos). Por ejemplo, la clase Foo está en el fichero foo.rb. Para guardar el fichero: File\Save As…Sálvalo como p001hola.rb. Todos los ficheros de código Ruby tienen la terminación "rb". Ahora ejecuta el programa: pulsa F5. En la ventana de output aparecerá la palabra "Hola".

En Ruby, la ejecución de las instrucciones del programa, va de la primera a la última:

#p001hola.rb

No hace nada. Todas las líneas precedidas por # son comentarios. Y los comentarios se ignoran al ejecutarse el programa.

puts 'Hello'

puts significa "poner string". String es una cadena de texto. Esta instrucción saca por el output cualquier cosa que pongamos a su derecha.

Normas de código

Los paréntesis son opcionales cuando usamos un método, en este caso puts. Las siguientes instrucciones son correctas:

foobar
foobar()
foobar(a, b, c)
foobar a, b, c

En Ruby, todo desde un número entero a una cadena de texto, es un objeto. Hablaremos más de esto. Y cada objeto tiene sus propios métodos (o instrucciones o funciones) que pueden ser usados para hacer cosas muy útiles. Para usar un método, necesitas poner un '.' después del nombre del objeto, y luego poner el nombre del método. Algunos métodos como puts y gets no necesitan estar asociados a un objeto, y por tanto pueden ser usados desde cualquier parte. Cuando se ejecuta una aplicación en Ruby, siempre se crea un objeto llamado main de la clase Object: este objeto es el que tiene dentro los métodos Kernel. De todo esto se hablará más adelante.

Todo esto se puede verificar por el siguiente programa (no te preocupes si no entiendes el programa, más adelante se explicará):

puts 'Soy una clases = ' + self.class.to_s  
puts 'Soy un objeto = ' + self.to_s  
print 'Los métodos del objeto son = '  
puts self.private_methods.sort

Observaciones

  • Programadores de C y Java - no se necesita escribir un método main.
  • Los strings son secuencias de caracteres entre simple o dobles comillas. Las comillas simples son más eficientes que las dobles. Se explicará más adelante.
  • Ruby es un lenguaje interpretado, entonces no hace falta recompilar para ejecutar un programa.
  • Las normas de código en Ruby, establecen que el nombre del fichero/directorio tiene que ser el nombre de la clase/módulo en minúsculas, añadiendo la extensión .rb