| require("import") -- the import fn | |
| import("iadd") -- import lib into global | |
| i=iadd --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 = i.Foo() | |
| foo1_a = foo1.AsA | |
| assert(foo1_a.x == 5) | |
| assert(foo1_a:get_me().x == 5) | |
| -- Unfortunately, in Lua operator+= can't be overloaded | |
| foo1.AsLong = 1000 | |
| assert(foo1.AsLong == 1000) |