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.)
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: