Guest User

Deepcopy

a guest
Mar 28th, 2013
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.40 KB | None | 0 0
  1. function deepcopy(orig)
  2. local orig_type = type(orig)
  3. local copy
  4. if orig_type == 'table' then
  5. copy = {}
  6. for orig_key, orig_value in next, orig, nil do
  7. copy[deepcopy(orig_key)] = deepcopy(orig_value)
  8. end
  9. setmetatable(copy, deepcopy(getmetatable(orig)))
  10. else -- number, string, boolean, etc
  11. copy = orig
  12. end
  13. return copy
  14. end
Add Comment
Please, Sign In to add comment