[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

file location

Eko Budi Setiyo

1/11/2005 3:10:00 AM

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"
"/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



4 Answers

Joel VanderWerf

1/11/2005 4:06:00 AM

0

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"
> "/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.)


Eko Budi Setiyo

1/11/2005 4:11:00 AM

0

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"
>> "/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

1/11/2005 7:33:00 AM

0

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.


Eko Budi Setiyo

1/11/2005 9:24:00 AM

0

Yukihiro Matsumoto wrote:

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