diff options
Diffstat (limited to '3rdparty/genie/src/base/table.lua')
-rw-r--r-- | 3rdparty/genie/src/base/table.lua | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/3rdparty/genie/src/base/table.lua b/3rdparty/genie/src/base/table.lua index 7bf37e7628c..c982e78325a 100644 --- a/3rdparty/genie/src/base/table.lua +++ b/3rdparty/genie/src/base/table.lua @@ -171,6 +171,24 @@ -- +-- Return an iterator over key/value pairs in a table, sorted by key. +-- + + function table.sortedpairs(t) + local keys = table.keys(t) + local i = 0 + table.sort(keys) + return function() + i = i + 1 + if keys[i] == nil then + return nil + end + return keys[i], t[keys[i]] + end + end + + +-- -- Adds the key-value associations from one table into another -- and returns the resulting merged table. -- @@ -212,12 +230,12 @@ end return result end - - + + -- -- reverse table order -- - + function table.reverse(arr) for i=1, math.floor(#arr / 2) do arr[i], arr[#arr - i + 1] = arr[#arr - i + 1], arr[i] |