if __FILE__ == $0 & ruby & rdebug & FXRuby

R

Ralph Shnelvar

The following line acts differently under rdebug and ruby
if __FILE__ == $0

FXRuby has the line, above, in nearly all its sample code.


Under rdebug, the value of $0 is, on my system,
F:/InstantRails-2.0-win/ruby/bin/rdebug

Executing
ruby -rdebug UltraDedup.rb
then the value of $0 is
Debug.rb


Executing
ruby UltraDedup.rb
then the value of $0 is
UltraDededup.rb


How can I change things so that
if __FILE__ == $0
acts correctly in each environment?

Ralph
 
C

Caleb Clausen

The following line acts differently under rdebug and ruby
if __FILE__ == $0

The name rdebug is ambiguous. Do you mean debug.rb, the debugger which
comes with ruby, or the ruby-debug gem? I suspect it's the latter,
since I have encountered this same bug with it.
FXRuby has the line, above, in nearly all its sample code.


Under rdebug, the value of $0 is, on my system,
F:/InstantRails-2.0-win/ruby/bin/rdebug

Executing
ruby -rdebug UltraDedup.rb
then the value of $0 is
Debug.rb


Executing
ruby UltraDedup.rb
then the value of $0 is
UltraDededup.rb

This is an unfortunate bug in ruby-debug. In general, ruby-debug has
more problems for me than debug.rb, so I usually jsut use debug.rb.
The reason to prefer ruby-debug is because it's so much faster.
Sometimes, this becomes very important.
How can I change things so that
if __FILE__ == $0
acts correctly in each environment?

I know of no really good solution. Typically, I manually set $0 to
__FILE__ at the beginning of a debugging session to work around this
problem (cursing all the while). I think this command is guaranteed to
do it:

p $0=__FILE__

Tho with some versions of ruby-debug, I could leave off the p.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,999
Messages
2,570,243
Members
46,835
Latest member
lila30

Latest Threads

Top