From: Gyoung-Yoon Noh Date: 2005-11-22T15:01:18+09:00 Subject: Re: semenatics of if/unless/while statement modifiers On 11/22/05, Yukihiro Matsumoto wrote: > Hi, > > In message "Re: semenatics of if/unless/while statement modifiers" > on Tue, 22 Nov 2005 09:54:46 +0900, Stefan Kaes writes: > > |So this behaviour is caused by intermingling parsing with semantic > |analysis. Much like forward procedure declarations were required for old > |Pascal compilers. > > I believe it's a strict application of the "local variables should be > assigned first" rule. Not a compromise for the compiler. > > |I hope this will be changed for Ruby 2.0, as it's an ugly wart on an > |otherwise very clean lanuage. > > I think it's not, where "not" means "not ugly". > > matz. > > I wonder following is same type of problem: irb(main):001:0> a NameError: undefined local variable or method `a' for main:Object from (irb):1 irb(main):002:0> if false then a = true end => nil irb(main):003:0> a => nil So, this behavior tell us not to use undefined local variables? -- http://nohmad.sub-port.net