开发者

Pretty version of Ruby's require statement?

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜