File location

Hi everybody

#file1.rb
#Location: /home/eko
puts Dir.pwd require 'directory1/file2.rb

#file2.rb
#Location: /home/eko/directory1
puts Dir.pwd

if I run "ruby file1.rb
will produce:
"/home/eko"

What comand that I should you in file2.rb that will "automatically" produce result
"/home/eko"
"/home/eko/directory1/file2.rb"

regards
Eko

Eko Budi Setiyo wrote:

Hi everybody

#file1.rb
#Location: /home/eko
puts Dir.pwd require 'directory1/file2.rb

#file2.rb
#Location: /home/eko/directory1
puts Dir.pwd

if I run "ruby file1.rb
will produce:
"/home/eko"

What comand that I should you in file2.rb that will "automatically" produce result
"/home/eko"
"/home/eko/directory1/file2.rb"

#file1.rb
puts Dir.pwd # /tmp
require 'directory1/file2.rb'

#file2.rb
puts Dir.pwd # /tmp

Dir.chdir(File.dirname(__FILE__)) do
   puts Dir.pwd # /tmp/directory1
end

puts Dir.pwd # /tmp

(But note that Dir.chdir with a block is not threadsafe.)

Hi,

···

In message "Re: file location" on Tue, 11 Jan 2005 12:10:19 +0900, Eko Budi Setiyo <contact_us@haltebis.com> writes:

What comand that I should you in file2.rb that will "automatically"
produce result
"/home/eko"
"/home/eko/directory1/file2.rb"

The current directory (which is returned from Dir.pwd) is something
different from the directory where the program are stored. What about
__FILE__ pseudo constant that shows the file name of the loading
program?

              matz.

Thanks you very much

Joel VanderWerf wrote:

···

Eko Budi Setiyo wrote:

Hi everybody

#file1.rb
#Location: /home/eko
puts Dir.pwd require 'directory1/file2.rb

#file2.rb
#Location: /home/eko/directory1
puts Dir.pwd

if I run "ruby file1.rb
will produce:
"/home/eko"

What comand that I should you in file2.rb that will "automatically" produce result
"/home/eko"
"/home/eko/directory1/file2.rb"

#file1.rb
puts Dir.pwd # /tmp
require 'directory1/file2.rb'

#file2.rb
puts Dir.pwd # /tmp

Dir.chdir(File.dirname(__FILE__)) do
  puts Dir.pwd # /tmp/directory1
end

puts Dir.pwd # /tmp

(But note that Dir.chdir with a block is not threadsafe.)

Yukihiro Matsumoto wrote:

Hi,

What comand that I should you in file2.rb that will "automatically" produce result
"/home/eko"
"/home/eko/directory1/file2.rb"

The current directory (which is returned from Dir.pwd) is something
different from the directory where the program are stored. What about
__FILE__ pseudo constant that shows the file name of the loading
program?

            matz.

I litle bit feel shame to admit it, but your suggestion is the shortest solution.
Why I can't find this __FILE__ in all the tutorial that i read before I submit to this mailling list
__FILE__ is the exactly what I want

regards
eko

···

In message "Re: file location" > on Tue, 11 Jan 2005 12:10:19 +0900, Eko Budi Setiyo <contact_us@haltebis.com> writes: