From: Ralph Shnelvar on
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




From: Joseph E. Savard on
$0 = The program you are running from the command line.

AKA you are running rdebug therefore $0 ==
F:/InstantRails-2.0-win/ruby/bin/rdebug


Enter irb and console:

<MANISH:jes> [07-16 09:01] 0 501:1 (14.43 Mb) • ~
! irb

irb(main):001:0> $0
=> "irb"

Make sense?

> From: Ralph Shnelvar <ralphs(a)dos32.com>
> Organization: Ralph Shnelvar
> Reply-To: <ruby-talk(a)ruby-lang.org>
> Date: Fri, 16 Jul 2010 21:27:36 +0900
> To: ruby-talk ML <ruby-talk(a)ruby-lang.org>
> Subject: if __FILE__ == $0 & ruby & rdebug & FXRuby
>
> 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
>
>
>
>