如何在Ruby中查找类的每个实例

有没有办法在Ruby中获取某个类的所有对象?

澄清:

class Pokemon end pikatchu = Pokemon.new charmander = Pokemon.new 

那么,有没有办法可以以某种方式检索引用这两个对象( pikatchucharmander )?

我实际上想通过初始化把它全部推到一个类数组中,但这可能会变大,我假设可能有一个原生的Ruby方法。

解决方案是使用ObjectSpace.each_object方法

 ObjectSpace.each_object(Pokemon) {|x| px} 

哪个产生

   => 2 

有关详细信息,请参阅PickAxe第25章