| require("import") -- the import fn |
| import("smart_pointer_simple") -- import lib into global |
| sps=smart_pointer_simple --alias |
| |
| -- catching undefined variables |
| local env = _ENV -- Lua 5.2 |
| if not env then env = getfenv () end -- Lua 5.1 |
| setmetatable(env, {__index=function (t,i) error("undefined global variable `"..i.."'",2) end}) |
| |
| foo1 = sps.Foo() |
| foo1.x = 5 |
| assert(foo1.x == 5) |
| assert(foo1:getx() == 5) |
| |
| bar1 = sps.Bar(foo1) |
| bar1.x = 3 |
| assert(bar1.x == 3) |
| assert(bar1:getx() == 3) |
| |
| bar1.x = 5 |
| assert(bar1.x == 5) |
| assert(bar1:getx() == 5) |