Project

General

Profile

Actions

Bug #2581

closed

require_relative depends on current directory

Added by mame (Yusuke Endoh) over 14 years ago. Updated almost 13 years ago.

Status:
Closed
Target version:
ruby -v:
1.9.2
Backport:
[ruby-dev:40004]

Description

=begin
遠藤です。

ソースファイルを相対パスで指定して起動したとき、require_relative が
カレントディレクトリに依存するようですが、これは仕様でしょうか。

$ cat /tmp/t1.rb
Dir.chdir("foo")
require_relative "t2"
p foo

$ cat /tmp/t2.rb
def foo
"/tmp/t2"
end

$ cat /tmp/foo/t2.rb
def foo
"/tmp/foo/t2"
end

相対パスで起動すると、require_relative 時のカレントディレクトリを見る

$ cd /tmp/
$ ruby19 t1.rb
"/tmp/foo/t2"

フルパスで起動すれば問題ない

$ ruby19 /tmp/t1.rb
"/tmp/t2"

$ ruby19 -v
ruby 1.9.2dev (2010-01-09 trunk 26260) [i686-linux]

あと、require_relative の rdoc がない気がするのですが、prelude.rb に
書けばいいんでしょうか。

--
Yusuke ENDOH
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0