如果您有:如何以遞歸方式查找模塊中的所有模塊和類?
module A
class B
end
end
您可以通過A.constants找到B和相似的類。但是,在Ruby 1.9.3中,如果它位於另一個模塊中,則不能獲得B.在Ruby 1.8.7中,你可以。
module A
module Aa
class B
end
end
end
如何從A的第一級獲得B?我想作爲輸出爲常數,其中包括像B中的所有類的數組,但模塊A內的任何地方,如果你確實有圓形的命名空間
你是什麼意思,你不能得到乙?我可以使A :: Aa :: B.new,它的工作原理是 – megas 2012-03-24 00:51:40
'MyModule.constants.select {| c | Class === MyModule.const_get(c)}'爲你工作? http://stackoverflow.com/questions/833125/find-classes-available-in-a-module – ScottJShea 2012-03-24 01:28:29
是的,你可以直接實例化它。但是,如何填充一個符號列表,其中列出了像B這樣的類? Scott:這對Ruby 1.9.3不適用(對於Ruby 1.8.7而言)。由於某些原因,常量不包含模塊。 – Jade 2012-03-24 15:22:41