webmcp

view framework/env/slot/reset_all.lua @ 257:78a2ae40c88e

Code optimization in slot.reset_all{...}
author jbe
date Sun Mar 15 01:06:04 2015 +0100 (2015-03-15)
parents 09f749330d13
children f491011ebe16
line source
1 --[[--
2 slot.reset_all{
3 except = except -- Reset all slots, except slots named in this list
4 }
6 Calling this function resets all slots to be empty. An exclusion list may be passed to the function as named argument.
8 --]]--
10 function slot.reset_all(args)
11 local saved
12 if args and args.except then
13 saved = {}
14 for i, key in ipairs(args.except) do
15 saved[key] = slot._data[key]
16 end
17 end
18 slot._data = setmetatable({}, slot._data_metatable)
19 if saved then
20 for key, value in pairs(saved) do
21 slot._data[key] = value
22 end
23 end
24 end

Impressum / About Us