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