Eventuali programmatori di Erlang esperti raccomanderebbero mai association lists su record?È sempre consigliabile utilizzare elenchi di associazioni anziché record?
Un caso potrebbe essere dove due (o più) nodi su macchine diverse stanno scambiando messaggi. Vogliamo essere in grado di aggiornare il software su ciascuna macchina in modo indipendente. Alcuni aggiornamenti possono comportare l'aggiunta di un campo a uno (o più) dei messaggi inviati. Sembra che usare un record perché il messaggio significherebbe che dovresti sempre eseguire l'aggiornamento su entrambe le macchine nella fase di blocco in modo che il campo extra non abbia impedito al ricevitore di ignorare il record. Mentre se si utilizza qualcosa come una lista di associazioni (che ha ancora un'API "record-like"), il ricevitore non ancora aggiornato riceverà comunque il messaggio con successo e semplicemente ignorerà il nuovo campo. Mi rendo conto che questo non è sempre il comportamento desiderato, ma spesso è. Inoltre, supponi che i messaggi siano abbastanza piccoli, quindi il tempo di ricerca non ha importanza.
Supponendo che quanto sopra fa un certo senso, ho le seguenti domande supplementari:
- Esiste uno standard (o ampiamente usato) libreria per alists? Alcuni semplici googling non hanno rivelato nulla.
- Esistono altri casi in cui si utilizza un elenco di associazioni (o qualcosa del genere)?
+1 per il modulo proplists. Per quanto mi riguarda, non ne avevo ancora avuto tanto bisogno, ma suppongo che sia perché cerco di mantenere i miei propli il più piccoli possibile. –