如何在Ruby中查找类的每个实例
有没有办法在Ruby中获取某个类的所有对象?
澄清:
class Pokemon end pikatchu = Pokemon.new charmander = Pokemon.new
那么,有没有办法可以以某种方式检索引用这两个对象( pikatchu
和charmander
)?
我实际上想通过初始化把它全部推到一个类数组中,但这可能会变大,我假设可能有一个原生的Ruby方法。
解决方案是使用ObjectSpace.each_object
方法
ObjectSpace.each_object(Pokemon) {|x| px}
哪个产生
=> 2
有关详细信息,请参阅PickAxe第25章