require 'example' # create a zoo zoo = Example::Zoo.new begin # Add in an couple of animals tiger1 = Example::Animal.new("tiger1") zoo.add_animal(tiger1) # unset variables to force gc tiger1 = nil end GC.start # Now get the tiger again tiger2 = zoo.get_animal(0) # Call a method to verify the animal is still valid and not gc'ed if tiger2.get_name != "tiger1" raise RuntimeError, "Wrong animal name" end