Programación en Erlang/Tipos de datos fundamentales disponibles en el lenguaje

De Wikilibros, la colección de libros de texto de contenido libre.

Condiciones[editar]

Un pedazo de datos de cualquier tipo de datos se llama un término.

Números[editar]

Hay dos tipos de literales numéricos, enteros y carrozas. Además de la notación convencional, hay dos Erlang-notaciones específicas:

  • $ Char

El valor ASCII de los caracteres de caracteres.

    1. base de valor

Entero con la base de base, que debe ser un entero en el rango de 2 .. 36.

Atoms[editar]

Un átomo es un literal, una constante con nombre. Un átomo debe estar entre comillas simples ( ') si no empiezan con una letra minúscula o si contiene caracteres que no sean caracteres alfanuméricos, guiones bajos (_), o @.

Bit Cuerdas y Binarios[editar]

Una cadena de bits que se utiliza para almacenar un área de memoria sin tipo. Cadenas se expresan mediante la sintaxis de bits. Las cadenas de bits que consta de un número de bits que es divisible por ocho son llamados Binarios

Referencia[editar]

Una referencia es un término que es único en un sistema de tiempo de ejecución de Erlang, creado por llamar make_ref / 0.

Fun[editar]

Funs hacer posible la creación de una función anónima y pasa a la función por si misma - no su nombre - como argumento a otras funciones.

Ejemplos:

 1> Fun1 = fun (X) -> X+1 end.
 #Fun<erl_eval.6.39074546>
 2> Fun1(2).
 3

Tupla[editar]

Compuesto de tipo de datos con un número fijo de términos:

{Term1,...,TermN} Término1 ,..., TermN () 

Cada término de duración en la tupla se llama un elemento. El número de elementos se dice que es el tamaño de la tupla. Existe un número de BIFS para manipular tuplas.

Lista[editar]

Compuesto de tipo de datos con un número variable de los términos.

[Term1,...,TermN] [Término1 ,..., TermN] 

Cada término de término de la lista se llama un elemento. El número de elementos se dice que es la longitud de la lista. Formalmente, la lista es o bien la lista vacía [] o consista en una cabeza (primer elemento) y una cola (el resto de la lista) que también es una lista. Este último puede ser expresado como [H | T]. La notación [término1 ,..., TermN] anterior es en realidad la abreviatura de la lista [término1 |[...|[ TermN |[]]]].

Ejemplo:

[] Es una lista, por lo tanto
[c | []] es una lista, por lo tanto
[b | [c |[]]] es una lista, por lo tanto
[a,b,c] . [a | [b | [c |[]]]] es una lista, o en definitiva [a, b, c].

Una lista en la cola es una lista se llama a veces una lista adecuada. Se permite tener una lista en la que la cola no es una lista, por ejemplo, [a | b]. Sin embargo, este tipo de lista es de poca utilidad práctica.

Ejemplos:

 1> L1 = [a, 2, (c, 4)]. [A, 2, (c, 4)] 2> [H | T] = L1. [A, 2, (c, 4)] 3> H. de 4> T. [2, (c, 4)] 5> L2 = [d | T]. [d, 2, (c, 4)] 
 6> longitud (L1). 3 7> longitud ([ ]). 0 

Una colección de funciones de procesamiento de la lista se puede encontrar en las listas stdlib módulo.

String[editar]

Las cadenas se escriben entre comillas ( "), pero no es un tipo de datos en Erlang. En lugar de una cadena" Hola "es la abreviatura de la lista [e $ $ h,, $ l, l $, $ o], que es [ 104.101.108.108.111]. Dos cadenas literales adyacentes se concatenan en una sola. Esto se hace en tiempo de compilación y no incurrir en gastos de tiempo de ejecución.

Ejemplo:

"string" "42" "cadena" "42" es equivalente a "string42" "string42"

Registro[editar]

Un registro es una estructura de datos para almacenar un número fijo de elementos. Sin embargo, registro no es un tipo de datos real. Las expresiones de registro son traducidos a tupla expresiones durante la compilación. Por lo tanto, las expresiones de registro no son comprendidos por el depósito si no se adoptan medidas especiales.

  -module (persona).
  -export ([new/2]).
  
  registro (persona, (nombre, edad)).
  
  nuevo (nombre, edad) -> 
        # (name = Nombre de la persona, edad = edad).
  1> persona:nuevo(Ernie,44).
  (persona,Ernie,44)

Boolean[editar]

No hay ningún tipo de datos Boolean en Erlang. En cambio los átomos de verdadero y falso se usa para designar a los valores booleanos.