3 * funzioni di utilita' generale
7 * converte il risultato di una query in una lista di stringhe
10 * l: Postgres.result; risultato della query
12 * output: string list; lista di stringhe (una per tupla)
14 * assumo che il risultato della query sia
15 * costituito da un solo valore per tupla
18 * verificare che l sia effettivamente costruita come richiesto
20 let pgresult_to_string_list l = List.map (List.hd) l#get_list;;
23 * converte il risultato di una query in una stringa
26 * l: Postgres.result; risultato della query
28 * output: string; valore dell'unica tupla del risultato
30 * mi aspetto che il risultato contenga una sola tupla
31 * formata da un solo valore
34 * verificare che l sia costruita come richiesto
36 let pgresult_to_string l = List.hd (List.hd l#get_list);;
40 * x: 'a; chiave di cui settare il valore
41 * v: 'b; valore da assegnare alla chiave
42 * l: ('a * 'b) list; lista di coppie in cui effettuare
45 * output: ('a * 'b) list; lista di coppie contenente (x, v)
48 * gestire i casi in cui in l compaiono piu' coppie (x, _)
49 * si sostituiscono tutte? se ne sostituisce una e si eliminano
53 let rec spila testa key value lista =
55 [] -> testa @ [(key, value)]
56 | (j, _)::tl when j = key -> testa @ [(key, value)] @ tl
57 | hd::tl -> spila (testa @ [hd]) key value tl
67 let c = List.combine h v;;
69 List.iter (fun (a,b) -> print_endline (a ^ ": " ^ b)) (set_assoc "a" "3" c);;