From: Nathaniel Talbott Date: 2003-12-29T02:29:45+09:00 Subject: Re: Inconsistent value of uninitialized variable On Dec 28, 2003, at 09:04, Gavin Sinclair wrote: > This, to me, is inconsistent and undesirable behaviour. I would > prefer this: > > x = x # NameError: undefined local variable or method `x' ... > > I haven't given it much thought, but the existing behaviour cost me 15 > minutes debugging, and I: > * don't see a benefit of the existing behaviour; > * do see a benefit (consistency) of changing the behaviour. 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... Just my $0.02, Nathaniel <:((><