From bff013bc4467ed60e4a27abd121fef9127dde8af Mon Sep 17 00:00:00 2001 From: Hector Franqui Date: Thu, 13 Jul 2017 19:04:00 -0400 Subject: [PATCH] Utilities: Add simple utility code to work with arrays and Lua tables --- utils.lua | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 utils.lua diff --git a/utils.lua b/utils.lua new file mode 100644 index 0000000..c36ee48 --- /dev/null +++ b/utils.lua @@ -0,0 +1,37 @@ +-- Basic utilities to work with array operations in Lua +-- By Zorman2000 + +npc.utils = {} + +function npc.utils.array_contains(array, item) + --minetest.log("Array: "..dump(array)) + --minetest.log("Item being searched: "..dump(item)) + for i = 1, #array do + --minetest.log("Equals? "..dump(array[i] == item)) + if array[i] == item then + return true + end + end + return false +end + +function npc.utils.array_is_subset_of_array(set, subset) + local match_count = 0 + for j = 1, #subset do + for k = 1, #set do + if subset[j] == set[k] then + match_count = match_count + 1 + end + end + end + -- Check match count + return match_count == #subset +end + +function npc.utils.get_map_keys(map) + local result = {} + for key, value in pairs(map) do + table.insert(result, key) + end + return result +end \ No newline at end of file