Elixir Language
Estructuras de datos
Buscar..
Sintaxis
[cabeza | cola] = [1, 2, 3, verdadero] # uno puede usar la coincidencia de patrones para dividir las celdas de contras. Esto asigna cabeza a 1 y cola a [2, 3, verdadero]
% {d: val} =% {d: 1, e: verdadero} # esto asigna val a 1; no se crea una variable d porque la d en lhs es en realidad solo un símbolo que se usa para crear el patrón% {: d => _} (tenga en cuenta que la notación de cohete hash permite que no haya símbolos como claves para mapas como en rubí)
Observaciones
En cuanto a qué estructura de datos para nosotros aquí hay algunos comentarios breves.
Si necesita una estructura de datos de matriz, si va a estar escribiendo muchas listas de uso. Si, por el contrario, va a leer mucho, debería usar tuplas.
En cuanto a los mapas, son simplemente la forma en que usted hace las tiendas de valor clave.
Liza
a = [1, 2, 3, true]
Tenga en cuenta que estos se almacenan en la memoria como listas vinculadas. Esta es una serie de celdas de contras donde la cabecera (List.hd / 1) es el valor del primer elemento de la lista y la cola (List.tail / 1) es el valor del resto de la lista.
List.hd(a) = 1
List.tl(a) = [2, 3, true]
Tuplas
b = {:ok, 1, 2}
Las tuplas son el equivalente de matrices en otros idiomas. Se almacenan de forma contigua en la memoria.