Ruby examples added.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@853 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
e867ed25a8
commit
b8f01da38b
42 changed files with 1804 additions and 7 deletions
49
Examples/ruby/class/runme.rb
Normal file
49
Examples/ruby/class/runme.rb
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# file: runme.rb
|
||||
|
||||
# This file illustrates the C++ interface created by SWIG.
|
||||
# All of our C++ classes get converted into Ruby classes.
|
||||
|
||||
require 'example'
|
||||
|
||||
# ----- Object creation -----
|
||||
|
||||
print "Creating some objects:\n"
|
||||
c = Example::Circle.new(10)
|
||||
print " Created circle #{c}\n"
|
||||
s = Example::Square.new(10)
|
||||
print " Created square #{s}\n"
|
||||
|
||||
# ----- Access a static member -----
|
||||
|
||||
print "\nA total of #{Example::Shape.nshapes} shapes were created\n"
|
||||
|
||||
# ----- Member data access -----
|
||||
|
||||
# Set the location of the object
|
||||
|
||||
# Notice how we can do this using functions specific to
|
||||
# the 'Circle' class.
|
||||
c.x = 20
|
||||
c.y = 30
|
||||
|
||||
# Now use the same functions in the base class
|
||||
s.x = -10
|
||||
s.y = 5
|
||||
|
||||
print "\nHere is their current position:\n"
|
||||
print " Circle = (", c.x, ",", c.y, ")\n"
|
||||
print " Square = (", s.x, ",", s.y, ")\n"
|
||||
|
||||
# ----- Call some methods -----
|
||||
|
||||
print "\nHere are some properties of the shapes:\n"
|
||||
for o in [c, s]
|
||||
print " #{o}\n"
|
||||
print " area = ", o.area, "\n"
|
||||
print " perimeter = ", o.perimeter, "\n"
|
||||
end
|
||||
# Notice how the Shape#area() and Shape#perimeter() functions really
|
||||
# invoke the appropriate virtual method on each object.
|
||||
|
||||
print "\n", Example::Shape.nshapes," shapes remain\n"
|
||||
print "Goodbye\n"
|
||||
Loading…
Add table
Add a link
Reference in a new issue