Software /
code /
prosody
Comparison
util/array.lua @ 1373:120275376bbb
util.array: Add support for + operator to create a new array from two arrays joined
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 20 Jun 2009 22:47:12 +0100 |
parent | 1372:3b13bb57002e |
child | 1522:569d58d21612 |
comparison
equal
deleted
inserted
replaced
1372:3b13bb57002e | 1373:120275376bbb |
---|---|
1 local array = {}; | 1 local array = {}; |
2 | 2 |
3 local array_mt = { __index = array, __tostring = function (array) return array:concat(", "); end }; | 3 local array_mt = { __index = array, __tostring = function (array) return array:concat(", "); end }; |
4 local function new_array(_, t) | 4 local function new_array(_, t) |
5 return setmetatable(t or {}, array_mt); | 5 return setmetatable(t or {}, array_mt); |
6 end | |
7 | |
8 function array_mt.__add(a1, a2) | |
9 local res = new_array(); | |
10 return res:append(a1):append(a2); | |
6 end | 11 end |
7 | 12 |
8 setmetatable(array, { __call = new_array }); | 13 setmetatable(array, { __call = new_array }); |
9 | 14 |
10 function array:map(func, t2) | 15 function array:map(func, t2) |