From: Trans Date: 2005-11-05T08:02:10+09:00 Subject: Re: How To Keep a Block on a Recursive Function You can make the block a normal parameter using the & operator. def arecursor(param, &block) [...] block.call(var) [...] if (some condition) arecursor(another_var,&block) end [...] end T.