当前位置:  开发笔记 > 后端 > 正文

Ruby如何知道在哪里可以找到所需的文件?

如何解决《Ruby如何知道在哪里可以找到所需的文件?》经验,为你挑选了1个好方法。

这是一个新手问题:

require 'tasks/rails'

我在每个rails项目的根路径中看到了Rakefile中的这一行.我想这行用于要求vendor/rails/railties/lib/tasks/rails.rb来加载所有rake任务:

$VERBOSE = nil
# Load Rails rakefile extensions
Dir["#{File.dirname(__FILE__)}/*.rake"].each { |ext| load ext }
# Load any custom rakefile extensions
Dir["#{RAILS_ROOT}/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
Dir["#{RAILS_ROOT}/vendor/plugins/*/**/tasks/**/*.rake"].sort.each { |ext| load ext }

我的问题是为什么只为require方法指定了'tasks/rails',而不是文件的完整路径?

提前致谢.



1> Lolindrath..:

当你启动你的rails应用程序时,它会运行config/boot.rb来调用Rails::Initializer.set_load_path和设置$LOAD_PATH.

Ruby使用该目录列表来查找require一行中指定的文件.如果你给它一个绝对路径require '/home/lolindrath/ruby/lib.rb',就会跳过那个搜索.

这大致类似于#include C/C++,它搜索您给编译器找到该头文件的include路径.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有