From: Stig Sandbeck Mathisen Date: 2004-03-24T01:04:29+09:00 Subject: How to avoid duplicate object creations? I have a program that will create a lot of objects, mainly of type SomeDocumentation::Host and SomeDocumentation::Role. Since the Role objects typically create a lot of Host objects, and the other way around, I tried to be clever, and look up objects that already exists with the same value of "name", since the initialize reads a bit from disk. I've tried tried to solve it with the following code snippet: def initialize(name) ObjectSpace.each_object(self.class) do |anObject| return anObject if anObject.name == name end end ....but when it is included in the Host initialize method, I end up with a lot of empty Host objects for the second (third, fourth, and so on) Role object when doing this from the main script: roles.uniq.each do |role| aRole = SomeDocumentation::Role.new(role) puts aRole.documentation end Does anyone see what I'm doing wrong? -- Sandbeck Mathisen - http://fnord.no Trust the Computer, the Computer is your Friend