From: Caleb Clausen on 16 Jul 2010 12:28 On 7/16/10, Ralph Shnelvar <ralphs(a)dos32.com> wrote: > 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.
|
Pages: 1 Prev: [ANN] webgen 0.5.13 released Next: Ruby 1.9.1 Array#combination kinda lazy |