From: Caleb Clausen Date: 2010-04-04T09:12:56+09:00 Subject: Re: combined ranges... On 4/3/10, Intransition wrote: > The more OOP approach would be: > > class Object > def visits > yield(self) > end > end > > module Enumerable > def visits(&block) > each{ |item| item.visits(&block) } > end > end This won't behave well if passed a true graph (not just tree or dag) of ruby objects. For instance: a=[] a<