/trunk/Examples/ruby/reference/runme.rb
Ruby | 60 lines | 17 code | 15 blank | 28 comment | 0 complexity | 3ce2716ba2d047d57fc9609452c165de MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- # file: runme.rb
- # This file illustrates the manipulation of C++ references in Ruby.
- require 'example'
- # ----- Object creation -----
- print "Creating some objects:\n"
- a = Example::Vector.new(3,4,5)
- b = Example::Vector.new(10,11,12)
- print " Created ", a.print, "\n"
- print " Created ", b.print, "\n"
- # ----- Call an overloaded operator -----
- # This calls the wrapper we placed around
- #
- # operator+(const Vector &a, const Vector &)
- #
- # It returns a new allocated object.
- print "Adding a+b\n"
- c = Example::addv(a, b)
- print " a+b = ", c.print, "\n"
- # ----- Create a vector array -----
- print "Creating an array of vectors\n"
- va = Example::VectorArray.new(10)
- print " va = #{va}\n"
- # ----- Set some values in the array -----
- # These operators copy the value of a and b to the vector array
- va.set(0, a)
- va.set(1, b)
- va.set(2, Example::addv(a,b))
- c = Example::addv(a,b)
- va.set(3, c)
- =begin commented out due to GC issue
- # Get some values from the array
- print "Getting some array values\n"
- for i in 0...5
- print " va(#{i}) = ", va.get(i).print, "\n"
- end
- # Watch under resource meter to check on this
- print "Making sure we don't leak memory.\n"
- for i in 0...1000000
- c = va.get(i % 10)
- end
- =end