Gavin Kistner wrote:
> I occasionally find myself with gsub regexp that either eat too much,  
> or work within a nesting, such that I need to run gsub more than once  
> in order to get the desired end result. The code I end up writing  tends 
> to be of the form:
> 
> while foo.gsub!( /.../, ... ); end
> 
> Frankly, I really don't like that. It's like JS people who write  things 
> like:
> for ( var walkerNode = this; walkerNode.parent; walkerNode =  
> walkerNode.parent ){}
> 'abusing' the for loop construct to hold their logic.
> 
> Is there some other form in Ruby of "keep doing this until it returns  
> nil" that is less...gross?
> 
> 

loop{break if foo.gsub!( /.../, ... ).nil?}

?

its more explicit and avoids the empty body, but ....
i don't like it either :)

cheers

Simon