programas - Ruby: ¿Cómo cargar un archivo en la consola interactiva de ruby(IRB)?
ejemplos de programas en ruby (7)
Depende de tu rubí. Ruby 1.8 incluye tu ruta actual, mientras que ruby 1.9 no. Evalúa $:
para determinar si tu ruta está incluida o no. Entonces en ruby 1.9 debes usar todo el camino, lo cual es siempre una apuesta segura.
Luego puede usar require
o load
para incluir el archivo.
require
no requiere que agregue el sufijo del archivo cuando intenta encontrarlo y solo incluirá el archivo una vez. require
debe usarse en lugar de load
mayor parte del tiempo.
Consulte Agregar un directorio a $ LOAD_PATH (Ruby) si va a usar ruby 1.8
Estoy usando IRB (consola interactiva de ruby) para aprender a programar con Ruby. ¿Cómo cargo un archivo en la consola si primero escribo mis programas en un editor de texto?
Dos caminos:
- cargar la fuente sin ejecutar el programa; esto le da acceso a todas las variables y funciones:
source("filename.rb")
- para ejecutar el programa y luego pasar al modo interactivo; esto solo da acceso a las funciones, no a las variables:
require("filename.rb")
Escriba en irb
Y entonces
require ''./ruby_file.rb''
Esto supone que ruby_file.rb está en el mismo directorio. Ajustar en consecuencia.
Escriba los códigos Ruby en el editor de texto
Guárdelo con la extensión .rb (por ejemplo: demo.rb ).
En Linux, abra su terminal y luego cambie el directorio a la ubicación actual de ese archivo (el comando cd se usa para cambiar el directorio).
Después de eso, escriba irb y su nombre de archivo (no olvide incluir su extensión (.rb)).
En esa imagen, cargué un archivo simple de rubí que solo imprime "ruby".
Otra forma de cargar la ruta en irb es simplemente escribir y luego arrastrar y soltar el archivo en el terminal.🙂-probado con Linux Mint.
Utilizando ruby 1.9.3 en Ubuntu 14.04, puedo cargar archivos desde el directorio actual en irb
con la siguiente línea de comando:
irb -I . -r foo.rb
donde foo.rb
es el archivo que quiero cargar desde mi directorio actual. La opción -I
es necesaria para agregar el directorio actual ( .
) A la ruta de carga de ruby, como se explica en la página man de ruby. Esto hace que sea posible require
archivos del directorio actual, que es lo que la opción -r
de irb
logra.
La pieza clave que no era obvia para mí cuando tuve este problema es la opción -I
. Una vez que lo hagas, puedes llamar require ''foo.rb''
desde dentro de irb
para cualquier archivo en el directorio actual. Y, por supuesto, puede especificar cualquier directorio que desee, no solo .
con la opción -I
. Para incluir varios directorios en la ruta de carga, sepárelos con dos puntos (:), por ejemplo:
irb -I foo/:bar/:baz/
Este comando agregará los directorios foo
, bar
y baz
a la ruta de carga de ruby.
La última alternativa es usar la ruta relativa o absoluta al archivo cuando se utiliza require
o -r
para cargar un archivo:
irb -r ./foo.rb
o desde dentro de irb
:
> require ''./foo.rb''
Si solo necesita cargar un archivo en IRB, puede invocarlo con irb -r ./your_file.rb
si está en el mismo directorio.
Esto requiere automáticamente el archivo y le permite trabajar con él de inmediato.