Sto cercando di cogliere la differenza tra elenchi e Tuples in Elixir
. Dalla sezione Basic Types di Elixir Guide, ho capito che:Elenchi contro tuple - Che cosa usare e quando?
- liste vengono memorizzati come elementi collegati
- Aggiornamento una lista è veloce (solo quando anteponendo)
- Elenco Recupero articoli è lento
- Lista Fetching informazioni (dimensione/lunghezza) è lento
- elementi tuple sono memorizzati insieme
- Ottenere informazioni tupla è veloce
- elementi Recupero tupla è veloce
- Modifica tuple è costoso
Va bene, questo è tutto bene, ma io non sono ancora sicuro di cosa usare quando. Vedo che la maggior parte dei metodi restituisce una tupla ma in qualsiasi altro elenco vengono utilizzati gli elenchi e molti metodi accettano gli elenchi come input, non come tuple. Con i punti indicati sopra, non si dovrebbero usare Tuple per trasmettere dati in giro, poiché la lettura di una tupla di valori dati dall'utente sarebbe veloce?
Ho anche notato che i tuple non sono enumerabili, che succede? Non utilizzare Enum
su di essi essere più veloce di utilizzarlo su elenchi?
Se qualcuno potrebbe aiutarmi a capirli meglio, magari dando alcuni esempi di cosa usare quando, sarebbe fantastico.
Quindi, se l'ho fatto correttamente, l'iterazione sulle liste è normale (che suona per me completamente logica) e iterare su tuple è piuttosto strano? Potrei vedere come iterare su una tupla non avrebbe probabilmente alcun senso. – Novarac23
Sì. Se si deve assolutamente iterare su una tupla per qualche motivo, si può provare 'Tuple.to_list' –