1
class Person
  attr_accessor :name

  def initialize(name)
     @@name = name
     people.push($)
  end
end

初期化関数にある必要はありません。作成されたすべての人物の配列が必要です。

p1 = Person.new("joe")
p2 = Person.new("rick")
people.inspect #-->would return [p1, p2]
4

3 に答える 3

4

のすべてのインスタンスのリストだけが必要な場合はPerson、作成時にそれらを追加する必要はありません。次の方法でアクセスするだけです。

ObjectSpace.each_object(Person).to_a
于 2013-06-25T04:28:06.287 に答える