Tôi đang gặp vấn đề với việc nhập tệp trong Ruby. Tôi đang tạo một ứng dụng Ruby trong Windows XP. Tất cả các tệp lớp cho ứng dụng đều có trong "C:/Documents/Prgm/Surveyor_Ruby/lib"
. Nhưng khi tôi require
một tệp trong một tệp khác, cả ruby lẫn irb đều không thể tìm thấy tệp được yêu cầu.Cả ruby lẫn irb đều không thể tải tệp .rb trong thư mục hiện tại
Nội dung thư mục hiện tại:
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
nhận rằng IRB là ở đúng thư mục:
C:\Documents\Prgm\Surveyor_Ruby\lib>irb
irb(main):001:0> Dir.pwd
=> "C:/Documents/Prgm/Surveyor_Ruby/lib"
... chưa IRB không thể tải 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>'
Ngoài giải pháp hàng đầu, 'require './Survey'' cũng sẽ hoạt động. Về cơ bản, thư mục hiện tại của bạn không thực sự nằm trong đường dẫn tìm kiếm theo mặc định, do đó bạn phải trỏ ruby vào nó một cách rõ ràng hoặc bao gồm nó trong đường dẫn tìm kiếm. –