[bcn-pm] aclariment sobre ordenacio

Xavier Noria fxn a hashref.com
div feb 26 02:12:01 PST 2010


Ahir em penso que no vaig explicar massa be allo de l'ordenacio.

A FluidDB puc agafar un objecte O, posem que representa el Camel Book,
y taggejar-lo posem per cas amb el tag fxn/rating amb un 10 enter.
Suposem que un altre objecte O' representa Mastering Regular
Expressions, i li poso un 10.0.

Aixo es pot fer perque els tags a FluidDB no son tipats, ho son els
valors, i el mateix tag a dos objectes diferents pot tenir valors de
diferent tipus, com a l'exemple.

Be, succeeix que si fem una cerca pels objectes que tenen fxn/rating
menor o igual que 10 surt O, y si fem menor o igual que 10.0 surt O'.
Per tant no nomes cal filar prim des del punt de vista de tipus, si no
que es que a mes aixo es determinant a les queries.

Alex he estat mirant-me la teva idea i m'agrada forc,a. L'us quedaria:

    $mre->tag("fxn/rating", integer => 10);

De lectura en context escalar:

    $rating = $mre->value("fxn/rating");

i per fer-ho simetric li dono la volta al context llista de com ho tenia pensat:

    ($type, $rating) = $mre->value("fxn/rating");

D'aquesta manera, com que la fletxa no es mes que una coma el parell
que obtenim es enxufable al setter, que es quelcom que crec que la
interficie ha de complir:

    @tag = $mre->value("fxn/rating");
    $mre->tag("joan/rating", @tag); # penseu en una migracio de dades p. ex.

i a mes a mes el tipus s'usa en ambdos casos a l'esquerra de la dada,
que es tambe una ordenacio molt normal.

Queda collonut!


Més informació sobre la llista de correu Barcelona-pm