Joel VanderWerf
11/9/2006 7:56:00 PM
Martin DeMello wrote:
> On 11/9/06, Tom Agnew <agnewtj@nospam.net> wrote:
>
>> Here's a trick I use to beautify access to constants:
>>
>> class Object
>> def my
>> self.class
>> end
>> end
>>
>> ....Now all constants can be accessed with my::Constant.
>>
>> I find it more readable. Certainly less typing!
>
> Ah - nice!
This may be a corner case, but if you're going to define #my at the
instance level, it should probably be based on the
(singleton|eigen)class of the instance and not the "birth" class:
class Object
def my
self.class
#class << self; self; end
end
end
class Foo
C = 2
end
x = Foo.new
class << x
X = 3
end
p x.my::C
p x.my::X
Now try it with the alternative!
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407