From: Martin DeMello Date: 2003-12-29T14:11:48+09:00 Subject: Re: Inconsistent value of uninitialized variable Nathaniel Talbott wrote: > Isn't it this behavior that makes it possible to define a recursive > block? > > y = 0 > x = proc{y += 1; x.call unless(y == 100); y} > p x.call > > I suppose you could require a prior assignment to x in this case, but > that starts to smell like having to declare variables... This is not a proper recursive block - for instance y = 0 x = proc{y += 1; x.call unless(y == 100); y} z = x x = nil z.call martin