select2
select2
<map>:select2(foo(key, val))
Itera il contenuto della tabella per chiave e valore ritornando nuovi elementi costruiti dal selettore.
local orders = { {orderid=1, product="Computer", price=1000, year=2010},
{orderid=1, product="Book", price=50, year=2012},
{orderid=3, product="TV", price=800, year=2011},
...
}
-- ritorna i tre anni più remunerativi
local res = XTable(orders):groupby("year")
:select2(function(k, v) return {year=k, totalprice=XTable(v):sum('price')} end)
:orderbyascending('totalprice')
:take(3)
:astable()