Instead of breaking out of the loop, why don't you return the object you found or return 'true'? _Steve Alvaro Perez wrote: > Hi there, > > something that I think should not be very difficult, but i'm struggling > with: > > def find(name, where) > for father in where > if (father.name==name) then > found = thing > break > else > find(name, father.children) > end > end > found > end > > I have an array with parent objects, some of them have children. I want > to find an object with the same name and return in, otherwise nil. > > The problem is that, once I start searching inside the children of some > father, and I found what I'm looking for, I break the loop inside (array > father.children). But then the search continues in the level above. I > would like to break the complete search. How can it be done? > > Thank you!! > -- > Posted via http://www.ruby-forum.com/.