Ron Jeffries wrote: >On Sun, 10 Mar 2002 10:00:34 GMT, Chris "boris" Ross <chris / darkrock.co.uk> >wrote: > >>On Sun, Mar 10, 2002 at 11:59:07AM +0900, David Corbin muttered... >>: The following is from my debugging through xmlc.rb >>: >>: Breakpoint 1, dump_element at xmlc.rb:94 >>: xmlc.rb:94: children.push ch unless >>: (ch == "" || ch == nil) >>: (rdb:1) p ch >>: "\"\n\"" >>: (rdb:1) p children >>: [] >>: (rdb:1) s >>: xmlc.rb:94: `undefined method `to_str' for nil' (NameError) >>: >>: How is 'nil' trying to do a to_str? >>: >>: Thanks >>: David >>: >>: >> >>I believe it's a case of ch is a string and therefore to do an equlity check >>ruby is doing: >> >> ( ch.to_str == "" || ch.to_str == nil.to_str ) >> >>*but* I could be being stupid and wrong, >> > >I'm not saying that, but the code as written runs fine on its own in 1.6.6. I >haven't tried running it in the debugger, since I have this religious thing >about not knowing how to use it. I'm definitely as confused as David by the >happening. > > >Does the same thing happen when you run the program outside the debugger? > No, but I assumed (perhaps incorrectly) the debugger enables a more strict behavior somehow.