Thanks, It did work. Regards, Manish
Jeff Wood wrote: > Or, you could use a simple throw-catch pair. > > % irb > irb(main):001:0> catch :done do > irb(main):002:1* > irb(main):003:1* 10.times do |x| > irb(main):004:2* > irb(main):005:2* [1,2,3].each do |y| > irb(main):006:3* throw :done if x == 4 && y == 2 > irb(main):007:3> puts "#{ x } : #{ y }" > irb(main):008:3> break if y == 2 > irb(main):009:3> end > irb(main):010:2> > irb(main):011:2* end > irb(main):012:1> > irb(main):013:1* end > 0 : 1 > 0 : 2 > 1 : 1 > 1 : 2 > 2 : 1 > 2 : 2 > 3 : 1 > 3 : 2 > 4 : 1 > => nil > irb(main):014:0> > > > ... so yeah, I didn't see the internal block the first time ... it will > only stop the most internal iterator ... > > A throw-catch will bail to whatever level you define. > > jd > > _______________________________________________ > Wtr-general mailing list > Wtr-general@rubyforge.org > http://rubyforge.org/mailman/listinfo/wtr-general > _______________________________________________ Wtr-general mailing list Wtr-general@rubyforge.org http://rubyforge.org/mailman/listinfo/wtr-general