select2

<map>:select2(foo(key, val))

Itera il contenuto della tabella per chiave e valore ritornando nuovi elementi costruiti dal selettore.

Esempio 211. Esempio select2

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()