GOTO Kentaro wrote:

> In message "[ruby-talk:8024] Re: Question about "attr_reader" on class
> level variables"
>     on 00/12/24, Dave Thomas <Dave / PragmaticProgrammer.com> writes:
> >> 1.  It seems like I've got to write an access method for class
> >> variables and
> >> cannot use attr_reader to get one automatically created for me.  Is
> >> that correct?
> >
> >Yes, but you can write your own version or attr_reader for class
> >variables if you want.
> 
> Yes!  This is a Ruby's charm:
> 
>   class Class
>     def cattr_reader(*cvs)
>       cvs.each do |cv|
>         class_eval %Q[
>           def self.#{cv}; @@#{cv} end
>         ]
>       end
>     end
>   end
> 
>   class Foo
>     @@foo = "Root"
>     @@bar = 66
> 
>     cattr_reader :foo, :bar
>   end
> 
>   p [Foo.foo, Foo.bar]                   #=> ["Root", 66]
> 

        Wow, both these answers are sooo slick.  I'm very impressed.
Thank you both very much!

        Tom Corbin