From 2ae6baefb71149bc1158f94acc780567cf1613a7 Mon Sep 17 00:00:00 2001 From: sanine Date: Fri, 25 Feb 2022 11:14:06 -0600 Subject: add multi-recursion insert test --- city/util.lua | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 city/util.lua (limited to 'city/util.lua') diff --git a/city/util.lua b/city/util.lua new file mode 100644 index 0000000..49ead55 --- /dev/null +++ b/city/util.lua @@ -0,0 +1,37 @@ +local util = {} + +util.table_str = function(tbl, recursive, indent) + local tab = '\t' + + local recursive = recursive or false + local indent = indent or '' + + local str = '{' + + for key, value in pairs(tbl) do + local key_str, value_str + if type(key) == 'table' and recursive then + key_str = util.table_str(key, recursive, indent..tab) + else + key_str = tostring(key) + end + + if type(value) == 'table' and recursive then + value_str = util.table_str(value, recursive, indent..tab) + else + value_str = tostring(value) + end + + str = str .. string.format( + '\n%s%s = %s', indent..tab, + key_str, value_str) + end + + if string.len(str) > 1 then + str = str .. '\n' .. indent + end + str = str .. '}' + return str +end + +return util -- cgit v1.2.1