From: Jason Voegele Date: 2002-04-09T23:47:05+09:00 Subject: Re: capital method names > When I write: > a = 1 > or > def a; return 1; end > > I can access the variable or method the same: > puts a > > but if I write: > A = 1 > or > def A; return 1; end > > then I must write: > puts A > to access the variable, or > puts A() > > to access the method. This is a little bit inconvenient, since it > means I can't transparently replace constants with methods (it recently > came up when I had been using a constant to represent the number of > seconds since receiving data before I would sound an alarm, but later > wanted to make that number of seconds dependant on the time of the day, > since more data comes in at certain times of the day than others). > > Is this a feature or an oversight? It certainly flies in the face of the Uniform Access Principle, which Ruby otherwise supports. I would think that, given Ruby's policy of capitalized constants, it could first assume a capitalized name was a constant, then if no such constant was defined search for a method with that name. I'd say it's an oversight. Jason Voegele