From: James Edward Gray II Date: 2006-05-02T04:32:53+09:00 Subject: Re: traversal of a tree + block code On May 1, 2006, at 2:04 PM, Andrew Gibson wrote: > Hi: > > I want to be able to traverse a tree and for each node perform some > random code...sounds like an ideal situation for blocks, right? :) > > My problem is that I'm not sure how to keep passing the code block in > the recursive call. This is my best attempt so far... i'm not very > strong in this area so any advice would be welcome! :) > > def self.depthFirstTraversal(parent , &block) > children = parent.children > children.each do |child| > block.call(child) > self.depthFirstTraversal(child) do |node| depthFirstTraversal(child, &block) > block.call(node) > end Lose these two lines. > end > end Just FYI, Ruby naming conventions are to use methods_like_this, notLikeThisJavaStyle. ;) James Edward Gray II