summaryrefslogtreecommitdiff
path: root/Examples/ruby/mark_function/runme.rb
blob: a7c5b042e2f44f46e3a84994aa11bb465ed5ca09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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