From: "Jan E." Date: 2012-03-29T20:38:05+09:00 Subject: Re: Way to identify ambiguity between local-var name and class method name Hi, Let's say you solved the problem of ambiguity, so that setters no longer had to be called with an explicit receiver. Then you wouldn't know if a = 1 is an assignment to a local variable a or to an instance variable @a (by calling the setter of @a). I don't find this a good idea. It's better to make a clear distinction between setter calls and assignments, like Ruby currently does: self.a = 1 # accessing the instance variable @a through setter a = 1 # creating or setting the local variable a The ambiguity of local variables and getters can also be solved by simply using parenthesis in method calls: # calling the method a a() # accessing the local variable a; if it doesn't exist, Ruby think it's a # method call and throws an error a Many peoply use parenthesis, anyway. -- Posted via http://www.ruby-forum.com/.