Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- parent={
- create=function(self,o)
- o=o or {}
- o.baz=12
- setmetatable(o,self)
- self.__index=self
- return o
- end,
- foo=function(self)
- return "foo "..self.x
- end,
- bar=function(self)
- return "bar"
- end
- }
- child={
- create=function(self,o)
- o=parent.create(self,o)
- o.qux=48
- return o
- end,
- bar=function(self)
- return parent:bar().." bar black sheep"
- end
- } setmetatable(child,{__index=parent})
- p=parent:create({x=1,y=2})
- c=child:create({x=10,z=30})
- printh(p:foo())
- printh(c:foo())
- printh(p:bar())
- printh(c:bar())
- printh(p.x)
- printh(c.x)
- printh(p.y)
- printh(c.y)
- printh(p.z)
- printh(c.z)
- printh(p.baz)
- printh(c.baz)
- printh(p.qux)
- printh(c.qux)
- --[[ output
- INFO: foo 1
- INFO: foo 10
- INFO: bar
- INFO: bar bar black sheep
- INFO: 1
- INFO: 10
- INFO: 2
- INFO: [nil]
- INFO: [nil]
- INFO: 30
- INFO: 12
- INFO: 12
- INFO: [nil]
- INFO: 48
- ]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement