2011-05-26 15 views
14

Ruby'de belirli bir sınıftaki tüm nesneleri almanın bir yolu var mı?Ruby'de sınıfın her bir örneğini bulmak için:

netleştirmek için: Yani

class Pokemon 
end 

pikatchu = Pokemon.new 
charmander = Pokemon.new 

, ben bir şekilde başvuruları bu iki nesne (pikatchu ve charmander) almak bir yolu var mı?

Aslında, tümünü başlatma yoluyla bir sınıf dizisine çekmeyi düşündüm, ancak bu potansiyel olarak büyük büyüyebilir ve bunun için yerel bir Ruby yaklaşımı olabileceğini varsayardım.

cevap

26

çözeltisi

<Pokemon:0x0000010098aa70> 
<Pokemon:0x00000100992158> 
=> 2 

Detaylar PickAxe book Bölüm tartışılmıştır üretir

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

gibi ObjectSpace.each_object yöntemini kullanmaktır 25

İlgili konular