Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Ruby迭代特定类的所有已创建但尚未保存的对象?_Ruby - Fatal编程技术网

如何使用Ruby迭代特定类的所有已创建但尚未保存的对象?

如何使用Ruby迭代特定类的所有已创建但尚未保存的对象?,ruby,Ruby,我想创建一个类的多个实例,而不将它们保存到数据库中。然后我想循环我创建的所有对象。有什么想法吗?听起来你在寻找: 如果您可以手动跟踪对象,那么我认为这会更好,我倾向于将ObjectSpace视为最后的手段。使用.new并将它们放在一个集合中?没有任何上下文,很难看出问题是什么。嗯,谢谢,我会处理这两个问题。好的,你能给我一个例子,作为一个组访问对象,我已经创建了但还没有保存吗?foos=[Foo.new,Foo.new,Foo.new];foos.each{| foo | puts foo}Hm

我想创建一个类的多个实例,而不将它们保存到数据库中。然后我想循环我创建的所有对象。有什么想法吗?

听起来你在寻找:


如果您可以手动跟踪对象,那么我认为这会更好,我倾向于将
ObjectSpace
视为最后的手段。

使用
.new
并将它们放在一个集合中?没有任何上下文,很难看出问题是什么。嗯,谢谢,我会处理这两个问题。好的,你能给我一个例子,作为一个组访问对象,我已经创建了但还没有保存吗?
foos=[Foo.new,Foo.new,Foo.new];foos.each{| foo | puts foo}
Hmmm,我想这真的是为了填充[foo.new,foo.new,foo.new],如果我使用的是活动记录,我会用foo.all或其他东西来完成。是否有类似的方法访问所有尚未保存的对象?
ObjectSpace.each_object(YourClass) do |o|
  # Do something interesting with object 'o' here
end