diff options
author | Philipp Gesang <phg42.2a@gmail.com> | 2013-12-14 14:31:43 +0100 |
---|---|---|
committer | Philipp Gesang <phg42.2a@gmail.com> | 2013-12-14 14:31:43 +0100 |
commit | a82cbf2bce00df54f59d1b81805e8b40029b93c6 (patch) | |
tree | da13b16e2ff9c367cff159a3e0f951046ecb1940 /lualibs-table.lua | |
parent | 3c357e43af3900df8d6de9ec08e05222ea4256eb (diff) | |
download | lualibs-a82cbf2bce00df54f59d1b81805e8b40029b93c6.tar.gz |
sync with Context as of 2013-12-14
Diffstat (limited to 'lualibs-table.lua')
-rw-r--r-- | lualibs-table.lua | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lualibs-table.lua b/lualibs-table.lua index 11cb66b..c6bbc62 100644 --- a/lualibs-table.lua +++ b/lualibs-table.lua @@ -1054,3 +1054,24 @@ function table.sorted(t,...) sort(t,...) return t -- still sorts in-place end + +-- + +function table.values(t,s) -- optional sort flag + if t then + local values, keys, v = { }, { }, 0 + for key, value in next, t do + if not keys[value] then + v = v + 1 + values[v] = value + keys[k] = key + end + end + if s then + sort(values) + end + return values + else + return { } + end +end |