Sto avendo davvero un problema con l'importazione di file in Ruby. Sto creando un'app Ruby in Windows XP. Tutti i file di classe per l'app sono in "C:/Documents/Prgm/Surveyor_Ruby/lib"
. Ma quando I require
un file in un altro file, né ruby né irb possono trovare il file richiesto.Né ruby né irb possono caricare il file .rb nella directory corrente
il contenuto della directory corrente:
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 conferma che IRB è in corretta directory:
C:\Documents\Prgm\Surveyor_Ruby\lib>irb
irb(main):001:0> Dir.pwd
=> "C:/Documents/Prgm/Surveyor_Ruby/lib"
... ancora IRB non possono caricare 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>'
Oltre alla soluzione principale, anche 'require './Survey'' avrebbe funzionato. Fondamentalmente la tua directory corrente non si trova effettivamente nel percorso di ricerca per impostazione predefinita, quindi devi puntare il ruby in modo esplicito o includerlo nel percorso di ricerca. –