从其他目录获取文件

时间:2015-09-27 01:24:36

标签: ruby

好吧,我正试图从我试过的MyScripts文件夹中打开'gamewindow.rb'文件

Dir.open "Users/NAME" do |dir|
require 'gamewindow.rb'
end

这会显示错误:

body.rb:1:in no such file or dir

我也试过了;

require 'gamewindow.rb'

这会显示错误:

C:/ruby22/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54
cannot load such file -- gamewindow.rb

我也试过了:

Dir.pwd #"Users/NAME/MyScripts"
require 'gamewindow.rb'

这显示出与上面相同的错误,我尝试了无数其他的事情,我使用了错误的目录更改?我可以更改Ruby搜索的目录吗?

2 个答案:

答案 0 :(得分:2)

require将仅在一组称为Load Path.的位置中搜索文件。您可以在脚本或irb会话中使用全局变量$LOAD_PATH来查看加载路径。

所以,你可以这样做(假设gamewindow.rb目录中存在C:/Users/NAME/MyScripts文件):

$LOAD_PATH << File.join('C:', 'Users', 'NAME', 'MyScripts')
require 'gamewindow'

答案 1 :(得分:0)

您可以使用绝对路径。

Dir.open "Users/NAME/you_script_folder" do |dir|
  require "#{dir.path}/gamewindow.rb"
end