3.1. El bucle de entrada/evaluación

Al ejecutar Ruby sin parámetros, éste lee de la entrada estándar comandos y los ejecuta después de dar por finalizada la entrada:


% ruby
print "hola mundo\n"
print "adiós mundo\n"
^D
hola mundo
adiós mundo

Ruby incluye un programa llamado eval.rb que permite la introducción de código desde el teclado a través de un bucle iterativo que muestra los resultados a medida que se obtienen. Se utilizará ampliamente a lo largo del tutorial.

Si se tiene un terminal ANSI (esto será casi seguro si se está ejecutando alguna versión de UNIX; bajo DOS se debe instalar ANSI.SYS o ANSI.COM) se debería utilizar este eval.rb mejorado que permite autoindentación, informes sobre incidencias y resaltado por color. Si no, en el directorio sample de la distribución Ruby existe una versión no ANSI que funciona con cualquier terminal. A continuación se muestra una pequeña sesión con eval.rb:


%ruby eval.rb
ruby> print "hola mundo\n"
hola mundo.
  nil
ruby> exit 

print produce hola mundo. La siguiente línea, es este caso nil informa sobre lo último que se ha evaluado; Ruby no distingue entre sentencias y expresiones, por lo tanto la evaluación de una pieza de código significa básicamente lo mismo que ejecutarla. Aquí nil, indica que print no devuelve ningún valor significativo. Obsérvese que se puede salir del bucle de interpretación con exit, aunque también funciona ^D.

A lo largo de toda esta introducción ruby> representa la petición de entrada del pequeño pero útil programa eval.rb.