| require("import") -- the import fn |
| import("extend_variable") -- import lib into global |
| ev=extend_variable --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}) |
| |
| e1 = ev.ExtendMe() |
| answ = 1.0 |
| assert(e1:set(7.0)) |
| --assert(e1:get(answ)) -- doesn't work. Lua can't pass primitive type by non-const reference |
| --assert(answ == 7.0) |
| |
| e1.ExtendVar = 5.0 |
| assert(e1.ExtendVar == 5.0) |
| |
| assert(ev.Foo.Bar == 42) |
| assert(ev.Foo.AllBarOne == 4422) |
| |
| assert(ev.Foo.StaticInt == 1111) |
| ev.Foo.StaticInt = 3333 |
| assert(ev.Foo.StaticInt == 3333) |
| |
| assert(ev.Foo.StaticConstInt == 2222) |
| |
| b1 = ev.Bar() |
| assert(b1.x == 1) |