Tengo un problema realmente novato con la importación de archivos en Ruby. Estoy haciendo una aplicación Ruby en Windows XP. Todos los archivos de clase para la aplicación están en "C:/Documents/Prgm/Surveyor_Ruby/lib"
. Pero cuando require
un archivo en otro archivo, ni ruby ni irb pueden encontrar el archivo requerido.Ni ruby ni irb pueden cargar el archivo .rb en el directorio actual
el contenido del directorio actual:
C:\Documents\Prgm\Surveyor_Ruby\lib>dir
Volume in drive C has no label.
Volume Serial Number is AAAA-BBBB
Directory of C:\Documents\Prgm\Surveyor_Ruby\lib
10/09/2010 06:32 PM <DIR> .
10/09/2010 06:32 PM <DIR> ..
10/08/2010 03:22 PM 5,462 main (commented).rb
10/08/2010 03:41 PM 92 question.rb
10/08/2010 09:06 PM 2,809 survey.rb
10/09/2010 06:25 PM 661 surveyor.rb
10/08/2010 01:39 PM 1,546 test.rb
5 File(s) 10,570 bytes
2 Dir(s) 40,255,045,632 bytes free
La confirmación de que IRB está en el directorio correcto:
C:\Documents\Prgm\Surveyor_Ruby\lib>irb
irb(main):001:0> Dir.pwd
=> "C:/Documents/Prgm/Surveyor_Ruby/lib"
... todavía IRB no pueden cargar survey.rb:
irb(main):002:0> require 'survey'
LoadError: no such file to load -- survey
from <internal:lib/rubygems/custom_require>:29:in `require'
from <internal:lib/rubygems/custom_require>:29:in `require'
from (irb):2
from C:/Ruby192/bin/irb:12:in `<main>'
Además de la solución superior, 'require './Survey'' también habría funcionado. Básicamente, su directorio actual no está realmente en la ruta de búsqueda de forma predeterminada, por lo que debe señalar ruby explícitamente o incluirlo en la ruta de búsqueda. –