diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-08-18 20:56:02 +0000 |
---|---|---|
committer | Lorry <lorry@roadtrain.codethink.co.uk> | 2012-09-25 16:59:08 +0000 |
commit | 9f8a09ed743cedd9547bf0661d518647966ab114 (patch) | |
tree | 9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/lua/class/runme.lua | |
download | swig-tarball-master.tar.gz |
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/lua/class/runme.lua')
-rw-r--r-- | Examples/lua/class/runme.lua | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Examples/lua/class/runme.lua b/Examples/lua/class/runme.lua new file mode 100644 index 0000000..2c3ad8c --- /dev/null +++ b/Examples/lua/class/runme.lua @@ -0,0 +1,62 @@ +-- file: runme.lua + +-- This file illustrates class C++ interface generated +-- by SWIG. + +---- importing ---- +if string.sub(_VERSION,1,7)=='Lua 5.0' then + -- lua5.0 doesnt have a nice way to do this + lib=loadlib('example.dll','luaopen_example') or loadlib('example.so','luaopen_example') + assert(lib)() +else + -- lua 5.1 does + require('example') +end + +----- Object creation ----- + +print("Creating some objects:") +c = example.Circle(10) +print(" Created circle", c) +s = example.Square(10) +print(" Created square", s) + +----- Access a static member ----- + +print("\nA total of",example.Shape_nshapes,"shapes were created") + +----- Member data access ----- + +-- Set the location of the object + +c.x = 20 +c.y = 30 + +s.x = -10 +s.y = 5 + +print("\nHere is their current position:") +print(string.format(" Circle = (%f, %f)",c.x,c.y)) +print(string.format(" Square = (%f, %f)",s.x,s.y)) + +----- Call some methods ----- + +print("\nHere are some properties of the shapes:") +for _,o in pairs({c,s}) do + print(" ", o) + print(" area = ", o:area()) + print(" perimeter = ", o:perimeter()) +end + +print("\nGuess I'll clean up now") + +-- Note: this invokes the virtual destructor +c=nil +s=nil +s = 3 + +-- call gc to make sure they are collected +collectgarbage() + +print(example.Shape_nshapes,"shapes remain") +print "Goodbye" |