私はいつもこの種のことを醜いと思っていました:
require File.join(File.dirname(__FILE__), 'hirb/config')
おそらくRails用に書かれたものでしょうか?
require_relative 'hirb/config'
require_relative '../another/file'
私はいつもこの種のことを醜いと思っていました:
require File.join(File.dirname(__FILE__), 'hirb/config')
おそらくRails用に書かれたものでしょうか?
require_relative 'hirb/config'
require_relative '../another/file'
最善のアプローチは、おそらくロード パスを準備することです。そのため、これらすべてを行う必要はありません。メイン モジュールまたは init ファイルが他のいくつかの場所を導入することは特に難しくありません。
これは、RUBYLIB 環境変数と -I コマンド ライン パラメータの影響も受けます。
$: << File.expand_path(File.join('..', 'lib'), File.dirname(__FILE__))
あなたができる
Dir.chdir(File.dirname(__FILE__) do
require 'hirb/config'
require '../another/file'
end
もちろん、それが良いかどうかは好みの問題です。
カーネルを拡張できます。
module Kernel
def require_relative(path)
require File.join(File.dirname(caller[0]), path.to_str)
end
end