diff options
Diffstat (limited to 'libs/core')
-rw-r--r-- | libs/core/luasrc/util.lua | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/libs/core/luasrc/util.lua b/libs/core/luasrc/util.lua index 6498a4976..109ccab28 100644 --- a/libs/core/luasrc/util.lua +++ b/libs/core/luasrc/util.lua @@ -320,23 +320,30 @@ function parse_units(ustr) return val end ---- Combines two or more numerically indexed tables and single objects into one table. --- @param tbl1 Table value to combine --- @param tbl2 Table value to combine --- @param ... More tables to combine --- @return Table value containing all values of given tables -function combine(...) - local result = {} +--- Appends numerically indexed tables or single objects to a given table. +-- @param src Target table +-- @param ... Objects to insert +-- @return Target table +function append(src, ...) for i, a in ipairs({...}) do if type(a) == "table" then for j, v in ipairs(a) do - result[#result+1] = v + src[#src+1] = v end else - result[#result+1] = a + src[#src+1] = a end end - return result + return src +end + +--- Combines two or more numerically indexed tables and single objects into one table. +-- @param tbl1 Table value to combine +-- @param tbl2 Table value to combine +-- @param ... More tables to combine +-- @return Table value containing all values of given tables +function combine(...) + return append({}, ...) end --- Checks whether the given table contains the given value. |