我今天刚开始学习ruby,学习创建一个类并创建属于该类的对象。我想知道是否有方法检索我在该类中创建的所有实例的名称。
前)

class Clothes
  attr_accessor:color
end

shirt=Clothes.new
#=> #<Clothes:0x007f89208cd330>
pants=Clothes.new
#=> #<Clothes:0x007f89208c18f0>
socks=Clothes.new
#=> #<Clothes:0x007f8920861748>

有没有一个命令会根据我给的名字列出所有属于类衣服(衬衫、裤子、袜子)的对象?谢谢!

最佳答案

免责声明:你想做的事情很可能会被解决得更优雅。
我只需要将我想记住的对象存储在一个数组中。不过,这里有一个问题的解决方案:

local_variables.select{|v| eval(v.to_s).class == Clothes }
#=> [:socks, :pants, :shirt]

09-06 08:02