mirror of
https://github.com/TangentFoxy/lume.git
synced 2024-11-19 07:04:24 +00:00
Added function lume.extend()
, updated README and tests
This commit is contained in:
parent
fce4a5e5df
commit
2e00c753d8
@ -98,6 +98,15 @@ local t = { 1, 2, 3 }
|
|||||||
lume.clear(t) -- `t` becomes {}
|
lume.clear(t) -- `t` becomes {}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### lume.extend(t, ...)
|
||||||
|
Copies all the fields from the source tables to the table `t` and returns `t`.
|
||||||
|
Tables are iterated in order, so the right-most table overrides existing
|
||||||
|
fields.
|
||||||
|
```
|
||||||
|
local t = { a = 1, b = 2 }
|
||||||
|
lume.extend(t, { b = 4, c = 6 }) -- `t` becomes { a = 1, b = 4, c = 6 }
|
||||||
|
```
|
||||||
|
|
||||||
### lume.shuffle(t)
|
### lume.shuffle(t)
|
||||||
Returns a shuffled copy of the array `t`.
|
Returns a shuffled copy of the array `t`.
|
||||||
|
|
||||||
|
13
lume.lua
13
lume.lua
@ -183,6 +183,19 @@ function lume.clear(t)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function lume.extend(t, ...)
|
||||||
|
for i = 1, select("#", ...) do
|
||||||
|
local x = select(i, ...)
|
||||||
|
if x then
|
||||||
|
for k, v in pairs(x) do
|
||||||
|
t[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return t
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
function lume.shuffle(t)
|
function lume.shuffle(t)
|
||||||
local rtn = {}
|
local rtn = {}
|
||||||
for i = 1, #t do
|
for i = 1, #t do
|
||||||
|
@ -145,6 +145,16 @@ tests["lume.clear"] = function()
|
|||||||
testeq( lume.clear(t) == t, true )
|
testeq( lume.clear(t) == t, true )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- lume.extend
|
||||||
|
tests["lume.extend"] = function()
|
||||||
|
local t = { a = 10, b = 20, c = 30 }
|
||||||
|
testeq( lume.extend(t) == t, true )
|
||||||
|
lume.extend(t, { d = 40 }, { e = 50 })
|
||||||
|
testeq( t, { a = 10, b = 20, c = 30, d = 40, e = 50 } )
|
||||||
|
lume.extend(t, { a = "cat", b = "dog" }, { b = "owl", c = "fox" })
|
||||||
|
testeq( t, { a = "cat", b = "owl", c = "fox", d = 40, e = 50 } )
|
||||||
|
end
|
||||||
|
|
||||||
-- lume.shuffle
|
-- lume.shuffle
|
||||||
tests["lume.shuffle"] = function()
|
tests["lume.shuffle"] = function()
|
||||||
local t = {1, 2, 3, 4, 5}
|
local t = {1, 2, 3, 4, 5}
|
||||||
|
Loading…
Reference in New Issue
Block a user