Comparison

util/set.lua @ 11560:3bbb1af92514

Merge 0.11->trunk
author Matthew Wild <mwild1@gmail.com>
date Thu, 13 May 2021 11:17:13 +0100
parent 10594:13d5fb74648f
parent 11542:c358537c0878
child 11788:1ceee8becb1a
comparison
equal deleted inserted replaced
11538:30feeb4d9d0b 11560:3bbb1af92514
28 local a, i = {}, 1; 28 local a, i = {}, 1;
29 for item in self._items do 29 for item in self._items do
30 a[i], i = item, i+1; 30 a[i], i = item, i+1;
31 end 31 end
32 return a; 32 return a;
33 end
34
35 local function is_set(o)
36 local mt = getmetatable(o);
37 return mt == set_mt;
33 end 38 end
34 39
35 local function new(list) 40 local function new(list)
36 local items = setmetatable({}, items_mt); 41 local items = setmetatable({}, items_mt);
37 local set = { _items = items }; 42 local set = { _items = items };
175 return t_concat(s, ", "); 180 return t_concat(s, ", ");
176 end 181 end
177 182
178 return { 183 return {
179 new = new; 184 new = new;
185 is_set = is_set;
180 union = union; 186 union = union;
181 difference = difference; 187 difference = difference;
182 intersection = intersection; 188 intersection = intersection;
183 xor = xor; 189 xor = xor;
184 }; 190 };