From 18c75775b61a9325140047739d62064e055654db Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Sun, 17 Jul 2016 19:52:59 +0200 Subject: [PATCH] refactoring --- util/core.lua | 114 ++++++++++++++++----------------------------- util/scan_util.lua | 4 +- 2 files changed, 42 insertions(+), 76 deletions(-) diff --git a/util/core.lua b/util/core.lua index f0a0d77..696e069 100644 --- a/util/core.lua +++ b/util/core.lua @@ -18,6 +18,12 @@ function public.table_eq(t1, t2) end end + for key, value in t2 do + if t1[key] ~= value then + return false + end + end + return true end @@ -30,7 +36,7 @@ function public.wipe(table) end end -function public.copy_table(table) +function public.copy(table) local copy = {} for k, v in table do copy[k] = v @@ -95,15 +101,6 @@ function public.safe_index(...) return target end -function Aux_PluralizeIf(word, count) - - if count and count == 1 then - return word - else - return word..'s' - end -end - function public.without_errors(f) local orig = UIErrorsFrame.AddMessage UIErrorsFrame.AddMessage = m.pass @@ -119,41 +116,14 @@ function public.without_sound(f) end function public.iter(array) - local with_index = ipairs(array) + local i = 0 return function() - local _, value = with_index - return value + local ret = {iter(array, i)} + i = ret[1] + return ret[2] end end -function public.set_add(set, key) - set[key] = true -end - -function public.set_remove(set, key) - set[key] = nil -end - -function public.set_contains(set, key) - return set[key] ~= nil -end - -function public.set_size(set) - local size = 0 - for _,_ in set do - size = size + 1 - end - return size -end - -function public.set_to_array(set) - local array = {} - for element, _ in set do - tinsert(array, element) - end - return array -end - function public.any(xs, p) local holds = false for _, x in ipairs(xs) do @@ -278,44 +248,40 @@ function public.group_by(tables, equal) return groups end -function public.set() - local self = {} +function public.set(...) + local set = {} + for i=1,arg.n do + set[arg[i]] = true + end + return set +end - local data = {} +function public.set_add(set, key) + set[key] = true +end - function self:add(value) - data[value] = true - end +function public.set_remove(set, key) + set[key] = nil +end - function self:add_all(values) - for _, value in ipairs(values) do - self:add(value) - end - end +function public.set_contains(set, key) + return set[key] ~= nil +end - function self:remove(value) - data[value] = nil - end +function public.set_size(set) + local size = 0 + for _,_ in set do + size = size + 1 + end + return size +end - function self:remove_all(values) - for _, value in ipairs(values) do - self:remove(value) - end - end - - function self:contains(value) - return data[value] ~= nil - end - - function self:values() - local values = {} - for value, _ in data do - tinsert(values, value) - end - return values - end - - return self +function public.set_to_array(set) + local array = {} + for element, _ in set do + tinsert(array, element) + end + return array end function public.join(array, separator) diff --git a/util/scan_util.lua b/util/scan_util.lua index 1f07d1f..cb09a28 100644 --- a/util/scan_util.lua +++ b/util/scan_util.lua @@ -322,7 +322,7 @@ function public.find(auction_record, status_bar, on_abort, on_failure, on_succes if auction_record.blizzard_query then - local blizzard_query1 = Aux.util.copy_table(auction_record.blizzard_query) + local blizzard_query1 = Aux.util.copy(auction_record.blizzard_query) blizzard_query1.first_page = auction_record.page blizzard_query1.last_page = auction_record.page tinsert(queries, { @@ -330,7 +330,7 @@ function public.find(auction_record, status_bar, on_abort, on_failure, on_succes }) if auction_record.page > 0 then - local blizzard_query2 = Aux.util.copy_table(auction_record.blizzard_query) + local blizzard_query2 = Aux.util.copy(auction_record.blizzard_query) blizzard_query2.first_page = auction_record.page - 1 blizzard_query2.last_page = auction_record.page - 1 tinsert(queries, {