From: Michael Winterstein on 25 Jan 2010 15:24 Suppose I have a module that's essentially used as a namespace, like this: module Castle class King < Royalty; end class Queen < Royalty; end class Guard < Commoner; end class Dragon_keeper < Commoner; end end Is there some way I could later create a list, say Castle_dwellers that would come out with all the classes defined therein? I would expect an array, something like [:King,:Queen,:Guard,:Dragon_keeper]. Or would I have to add them 'manually' to the list? -- Posted via http://www.ruby-forum.com/.
From: Roger Pack on 25 Jan 2010 15:27 Michael Winterstein wrote: > Suppose I have a module that's essentially used as a namespace, like > this: > > module Castle Castle.constants -- Posted via http://www.ruby-forum.com/.
From: burke on 25 Jan 2010 23:15 > Castle.constants Pretty much. This will also return any other constants you make in the namespace -- for example, if you had Castle::Location = "Scotland", you'd also get "Location" back. If that causes you problems, you can do: irb(main):034:0> Castle.constants.select{|e|Castle.const_get (e).kind_of? Class} => ["King", "Guard", "Queen", "Dragon_keeper", "Royalty", "Commoner"]
|
Pages: 1 Prev: Class variable inside block of defining instance method Next: can't update and install gem |