23 lines
573 B
Lua
23 lines
573 B
Lua
require("import") -- the import fn
|
|
import("smart_pointer_multi") -- import lib into global
|
|
spm=smart_pointer_multi --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})
|
|
|
|
foo = spm.Foo()
|
|
foo.x = 5
|
|
assert( foo:getx() == 5 )
|
|
|
|
bar = spm.Bar(foo)
|
|
spam = spm.Spam(bar)
|
|
grok = spm.Grok(bar)
|
|
|
|
assert( bar:getx() == 5 )
|
|
assert( spam:getx() == 5 )
|
|
spam.x = 7
|
|
assert( grok:getx() == 7 )
|
|
grok.x = 10
|
|
assert( foo:getx() == 10 )
|