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.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow