| -- Operator overloading example |
| ---- 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 |
| |
| a = example.intSum(0) |
| b = example.doubleSum(100.0) |
| |
| -- Use the objects. They should be callable just like a normal |
| -- lua function. |
| |
| for i=0,100 do |
| a(i) -- Note: function call |
| b(math.sqrt(i)) -- Note: function call |
| end |
| print("int sum 0..100 is",a:result(),"(expected 5050)") |
| print("double sum 0..100 is",b:result(),"(expected ~771.46)") |
| |