loadee.rb負荷工作本地路徑上,要求不
puts '> This is the second file.'
loaddemo.rb
puts 'This is the first (master) program file.'
load 'loadee.rb'
puts 'And back again to the first file.'
當我運行"ruby loaddemo.rb"
,這工作得很好。這兩個文件都在同一個目錄中,這就是我從中運行的目錄。
但是,如果我改變負載的要求,並帶有或不帶擴展我得到:
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load
-- loadee.rb (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from loaddemo.rb:2:in `<main>'
我的問題是,當然,爲什麼不要求在這種情況下工作?它應該,對吧?是否加載並需要使用不同的路徑?
的Ruby版本1.9.2
那麼爲什麼裝載沒有路徑工作?它使用不同的路徑變量嗎? – 2011-05-14 00:12:38
這實際上被列爲紅寶石的bug現在。 1.9使用'require'時,從加載路徑中刪除了「當前目錄」,但不是'load'。 http://redmine.ruby-lang.org/issues/2710 – 2011-05-14 00:15:14
另外,請記住,每次使用'load'時,它會評估整個文件,而使用'require'只會在您第一次需要時評估文件它。 – 2011-05-14 00:16:37