summaryrefslogtreecommitdiff
path: root/trunk/Examples/ruby/pointer/runme.rb
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2010-06-02 20:53:17 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2010-06-02 20:53:17 +0000
commit2824b0cbb66e715490e1ef13250bd675d87b32d9 (patch)
treec3bc8d54c6d73f2b7ce08cac34172dbc9f5e5b95 /trunk/Examples/ruby/pointer/runme.rb
parent289cfef4b4766ff266f3b1bdda8ca3a952e5a047 (diff)
downloadswig-2.0.0.tar.gz
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/tags/rel-2.0.0@12089 626c5289-ae23-0410-ae9c-e8d60b6d4f22
Diffstat (limited to 'trunk/Examples/ruby/pointer/runme.rb')
-rw-r--r--trunk/Examples/ruby/pointer/runme.rb45
1 files changed, 45 insertions, 0 deletions
diff --git a/trunk/Examples/ruby/pointer/runme.rb b/trunk/Examples/ruby/pointer/runme.rb
new file mode 100644
index 000000000..d696b026f
--- /dev/null
+++ b/trunk/Examples/ruby/pointer/runme.rb
@@ -0,0 +1,45 @@
+# 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"
+
+
+