From: gabriele renzi Date: 2005-12-10T06:27:38+09:00 Subject: Re: next, retry, break? mental@rydia.net ha scritto: > Okay, I've got a question. > > What's the correct way to implement a custom Enumerable#each which > handles next, retry and break correctly? > > For example: > > def each > while @current_grob > yield @current_grob.create > @current_grob = @current_grob.next_grob > end > end > > How do I make next, retry, and break work as expected? > > -mental don't they do it already? >> Triple = Struct.new :a, :b, :c do ?> def each >> yield a >> yield b >> yield c >> end >> end => Triple >> Triple.new(1,2,3).each do |x| ?> if x == 1 >> next >> elsif x == 2 >> p "2" >> break >> end >> p x >> end "2" => nil