diff options
| author | ruki <[email protected]> | 2019-08-18 12:37:08 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-08-18 12:37:08 +0800 |
| commit | eb6a3e93dae0deaa411f88a06ea9c46d75b501dc (patch) | |
| tree | b8c2e99327599ac565bd80eec6c99f91d5549639 /xmake/core/base/table.lua | |
| parent | 870440fe4ff1523e142e0eafae0a38cf3cfe4915 (diff) | |
| parent | bd4181e0321ec9db4dd6b304db51f5cf6566a484 (diff) | |
Merge pull request #534 from OpportunityLiu/dev
fix #533
Diffstat (limited to 'xmake/core/base/table.lua')
| -rw-r--r-- | xmake/core/base/table.lua | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/xmake/core/base/table.lua b/xmake/core/base/table.lua index 1f3e79add..c08526c34 100644 --- a/xmake/core/base/table.lua +++ b/xmake/core/base/table.lua @@ -309,5 +309,31 @@ function table.values(tab) return valueset, n end +-- map values to a new table +function table.map(tab, mapper) + + assert(tab) + assert(mapper) + + local newtab = {} + for k, v in pairs(tab) do + newtab[k] = mapper(k, v) + end + return newtab +end + +-- map values to a new array +function table.imap(arr, mapper) + + assert(arr) + assert(mapper) + + local newarr = {} + for k, v in ipairs(arr) do + table.insert(newarr, mapper(k, v)) + end + return newarr +end + -- return module: table return table |
