Bart Aimar wrote:
data una lista di coppie del tipo:

pippo = "qualcosa"
gigio = "carabattole"
zio_barba = "barbatrucco 26"

ora se il codice (ad esempio) in base a suoi (per ora imperscrutabili)
algoritmi mi dice:

"gigio"

io vorrei recuperare il valore (o la stringa) associati a gigio

ovvero io vorrei ottenere "carabattole"

Ho provato in diversi modi... iniziando ingenuamente con l'assegnare
variabili espresse come sopra e cioè:

pippo = "qualcosa"
gigio = "carabattole"
etc.

ma, pur avendo la stringa "gigio" proprio non riesco a recuperare il
valore della variabile gigio,
che sarebbe esattamente ciò che mi serve.

Mi è sfuggito qualcosa?

In alternativa avevo pensato di infilare quella lista di coppie in un
array!
Un array simile a quello usato da OOo per stivare i nomi di area e la
corrispondente definizione "spaziale"

Se riuscissi a creare un array di quel tipo,
potrei poi accedere all'array con un ciclo di for
e se il primo elemento di quel ( i ) e uguale a "gigio"
recuperare il corrispondente "valore".

la struttura dati adatta per la tua esigenza (che è molto comune sia nel software che nell'hardware) è la LUT:
http://en.wikipedia.org/wiki/Lookup_table
Se il linguaggio che usi non la implementa, puoi usare una matrice (o un doppio array), con un ciclo per cercare nella prima colonna, e prendere il valore dalla seconda. Se poi la prima volta ordini la tabella usando la prima colonna come chiave, la ricerca può essere fatta in modo più efficiente le volte successive. Purtroppo non conosco il linguaggio di OOo per proporti l'esempio con la sintassi corretta, ma l'algoritmo lo potrai scrivere senz'altro.
(se ti può essere utile ti potrei scrivere l'esempio in C).

Valerio

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a