| -- 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 doesn't 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 | |
| ex = example | |
| -- Calling a module function ( aka global function ) | |
| assert( ex.module_function() == 7 ) | |
| print("example.module_function(): ", ex.module_function()) | |
| -- Accessing a module (aka global) variable | |
| assert( ex.module_variable == 9 ) | |
| print("example.module_variable: ", ex.module_variable) | |
| -- Creating an instance of the class | |
| w1 = ex.MyWorld.World() | |
| print("Creating class instance: w1 = ex.MyWorld.World(): ", w1) | |
| -- Accessing class members | |
| assert( ex.MyWorld.World():create_world() == 17 ) | |
| print( "w1:create_world() = ", w1:create_world() ) | |
| assert( w1:create_world() == 17 ) | |
| print( "w1:world_max_count = ", w1.world_max_count ) | |
| assert( w1.world_max_count == 9 ) | |
| -- Accessing enums from class within namespace | |
| print( "Accessing enums: ex.MyWorld.Nested.Dweller.MALE = ", ex.MyWorld.Nested.Dweller.MALE ) | |
| assert( ex.MyWorld.Nested.Dweller.MALE == 0 ) | |
| print( "Accessing enums: ex.MyWorld.Nested.Dweller.FEMALE = ", ex.MyWorld.Nested.Dweller.FEMALE ) | |
| assert( ex.MyWorld.Nested.Dweller.FEMALE == 1 ) | |
| -- Accessing static member function | |
| print( "Accessing static member function: ex.MyWorld.Nested.Dweller.count() = ", ex.MyWorld.Nested.Dweller.count() ) | |
| assert( ex.MyWorld.Nested.Dweller.count() == 19 ) | |