/trunk/Examples/ruby/mark_function/runme.rb

# · Ruby · 23 lines · 12 code · 6 blank · 5 comment · 2 complexity · 766db0b26260dbdfb5c76cfc9279a961 MD5 · raw file

  1. require 'example'
  2. # create a zoo
  3. zoo = Example::Zoo.new
  4. begin
  5. # Add in an couple of animals
  6. tiger1 = Example::Animal.new("tiger1")
  7. zoo.add_animal(tiger1)
  8. # unset variables to force gc
  9. tiger = nil
  10. end
  11. GC.start
  12. # Now get the tiger again
  13. tiger2 = zoo.get_animal(0)
  14. # Call a method to verify the animal is still valid and not gc'ed
  15. if tiger2.get_name != "tiger1"
  16. raise RuntimeError, "Wrong animal name"
  17. end