mirror of
https://github.com/TangentFoxy/lume.git
synced 2024-11-19 07:04:24 +00:00
Changed lume.fn/once's returned func return, v1.0.8
* The functions which lume.fn() and lume.once() return now return their inner functions' return value instead of nil * Moved lume.once() in lume.lua and README.md to be near its similar functions -- lume.fn() and lume.time()
This commit is contained in:
parent
d65556bc83
commit
842e367ccd
19
README.md
19
README.md
@ -121,15 +121,6 @@ exist in the table.
|
|||||||
lume.find({"a", "b", "c"}, "b") -- Returns 2
|
lume.find({"a", "b", "c"}, "b") -- Returns 2
|
||||||
```
|
```
|
||||||
|
|
||||||
### lume.once(fn, ...)
|
|
||||||
Returns a wrapper function to `fn` which takes the supplied arguments. The
|
|
||||||
wrapper function will call `fn` on the first call and do nothing on any
|
|
||||||
subsequent calls.
|
|
||||||
```lua
|
|
||||||
local f = lume.once(print, "Hello")
|
|
||||||
f() -- Prints "Hello"
|
|
||||||
f() -- Does nothing
|
|
||||||
```
|
|
||||||
|
|
||||||
### lume.slice(t [, i [, j]])
|
### lume.slice(t [, i [, j]])
|
||||||
Mimics the behaviour of Lua's `string.sub`, but operates on an array rather
|
Mimics the behaviour of Lua's `string.sub`, but operates on an array rather
|
||||||
@ -149,6 +140,16 @@ local f = lume.fn(print, "Hello")
|
|||||||
f() -- Prints "Hello"
|
f() -- Prints "Hello"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### lume.once(fn, ...)
|
||||||
|
Returns a wrapper function to `fn` which takes the supplied arguments. The
|
||||||
|
wrapper function will call `fn` on the first call and do nothing on any
|
||||||
|
subsequent calls.
|
||||||
|
```lua
|
||||||
|
local f = lume.once(print, "Hello")
|
||||||
|
f() -- Prints "Hello"
|
||||||
|
f() -- Does nothing
|
||||||
|
```
|
||||||
|
|
||||||
### lume.time(fn, ...)
|
### lume.time(fn, ...)
|
||||||
Inserts the arguments into function `fn` and calls it. Returns the time in
|
Inserts the arguments into function `fn` and calls it. Returns the time in
|
||||||
seconds the function `fn` took to execute followed by `fn`'s returned values.
|
seconds the function `fn` took to execute followed by `fn`'s returned values.
|
||||||
|
24
lume.lua
24
lume.lua
@ -7,7 +7,7 @@
|
|||||||
-- under the terms of the MIT license. See LICENSE for details.
|
-- under the terms of the MIT license. See LICENSE for details.
|
||||||
--
|
--
|
||||||
|
|
||||||
local lume = { _version = "1.0.7" }
|
local lume = { _version = "1.0.8" }
|
||||||
|
|
||||||
|
|
||||||
function lume.clamp(x, min, max)
|
function lume.clamp(x, min, max)
|
||||||
@ -144,15 +144,6 @@ function lume.find(t, value)
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function lume.once(fn, ...)
|
|
||||||
local arg = {...}
|
|
||||||
return function()
|
|
||||||
if arg == nil then return end
|
|
||||||
fn(unpack(arg))
|
|
||||||
arg = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function lume.slice(t, i, j)
|
function lume.slice(t, i, j)
|
||||||
i = i or 1
|
i = i or 1
|
||||||
@ -174,7 +165,18 @@ end
|
|||||||
|
|
||||||
function lume.fn(fn, ...)
|
function lume.fn(fn, ...)
|
||||||
local arg = {...}
|
local arg = {...}
|
||||||
return function() fn(unpack(arg)) end
|
return function() return fn(unpack(arg)) end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function lume.once(fn, ...)
|
||||||
|
local arg = {...}
|
||||||
|
return function()
|
||||||
|
if arg == nil then return end
|
||||||
|
local rtn = {fn(unpack(arg))}
|
||||||
|
arg = nil
|
||||||
|
return unpack(rtn)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user