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?
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: