开发者

Pretty version of Ruby's require statement?

开发者 https://www.devze.com 2022-12-08 12:15 出处:网络
I\'ve always thought this sort of thing ugly: req开发者_StackOverflow中文版uire File.join(File.dirname(__FILE__), \'hirb/config\')

I've always thought this sort of thing ugly:

req开发者_StackOverflow中文版uire File.join(File.dirname(__FILE__), 'hirb/config')

Is there a prettier alternative, maybe one written for Rails?

require_relative 'hirb/config'
require_relative '../another/file'


The best approach is probably preparing your load path so you don't need to do all this. It's not especially difficult for your main module or init file to introduce a few other locations.

This is also affected by the RUBYLIB environment variable, as well as the -I command line parameter.

$: << File.expand_path(File.join('..', 'lib'), File.dirname(__FILE__))


You could do

Dir.chdir(File.dirname(__FILE__) do
  require 'hirb/config'
  require '../another/file'
end

Whether or not that's better is a matter of taste, of course.


You can extend the kernel.

module Kernel
    def require_relative(path)
      require File.join(File.dirname(caller[0]), path.to_str)
    end
end
0

精彩评论

暂无评论...
验证码 换一张
取 消