Advertisement
Guest User

Untitled

a guest
May 2nd, 2016
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. table1 = {}
  2. table2 = {}
  3.  
  4. behavior = {myfunction = function() return 10 end}
  5.  
  6. setmetatable(table1, behavior)
  7. setmetatable(table2, behavior)
  8.  
  9. a.myfunction() --> 10
  10. b.myfunction() --> 10
  11.  
  12. behavior_derived = {myNewFunction = function() return 20 end}
  13.  
  14. -- merge the base behavior in with our derived behavior
  15. for k,v in pairs(behavior) do behavior_derived[k] = v end
  16.  
  17. a_derived = {}
  18. b_derived = {}
  19.  
  20. setmetatable(a_derived, behavior_derived)
  21. setmetatable(b_derived, behavior_derived)
  22.  
  23. a_derived.myfunction() --> 10
  24. a_derived.myNewFunction() --> 20
  25.  
  26. b_derived.myfunction() --> 10
  27. b_derived.myNewFunction() --> 20
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement