/trunk/Examples/ruby/pointer/runme.rb
# · Ruby · 45 lines · 22 code · 14 blank · 9 comment · 0 complexity · b4c18408acc412b334b3c2b1f5962936 MD5 · raw file
- # file: runme.rb
- require 'example'
- # First create some objects using the pointer library.
- print "Testing the pointer library\n"
- a = Example::new_intp()
- b = Example::new_intp()
- c = Example::new_intp()
- Example::intp_assign(a,37)
- Example::intp_assign(b,42)
- print " a = #{a}\n"
- print " b = #{b}\n"
- print " c = #{c}\n"
- # Call the add() function with some pointers
- Example::add(a, b, c)
- # Now get the result
- r = Example::intp_value(c)
- print " 37 + 42 = #{r}\n"
- # Clean up the pointers
- Example::delete_intp(a)
- Example::delete_intp(b)
- Example::delete_intp(c)
- # Now try the typemap library
- # This should be much easier. Now how it is no longer
- # necessary to manufacture pointers.
- print "Trying the typemap library\n"
- r = Example::sub(37, 42)
- print " 37 - 42 = #{r}\n"
- # Now try the version with multiple return values
- print "Testing multiple return values\n"
- q, r = Example::divide(42, 37)
- print " 42/37 = #{q} remainder #{r}\n"