projects
/
prosody.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
3fa8904
)
util.array: Per-array methods now always mutate the array, array.* return a mutated...
author
Matthew Wild
<mwild1@gmail.com>
Mon, 5 Oct 2009 13:38:04 +0000
(14:38 +0100)
committer
Matthew Wild
<mwild1@gmail.com>
Mon, 5 Oct 2009 13:38:04 +0000
(14:38 +0100)
util/array.lua
patch
|
blob
|
history
diff --git
a/util/array.lua
b/util/array.lua
index bbf26f3214ae4992beda62004503641df6ca04d4..ae3a0b5bdf178f247356e093eef15c512a56f64b 100644
(file)
--- a/
util/array.lua
+++ b/
util/array.lua
@@
-33,22
+33,11
@@
function array_base.map(outa, ina, func)
end
function array_base.filter(outa, ina, func)
- local inplace, start_length = ina == outa, #ina;
- local write = 1;
- for read=1,start_length do
- local v = ina[read];
+ for k,v in ipairs(ina) do
if func(v) then
- outa[write] = v;
- write = write + 1;
- end
- end
-
- if inplace and write < start_length then
- for i=write,start_length do
- outa[i] = nil;
+ outa:push(v);
end
end
-
return outa;
end