Retomando el tutorial de Erlang hoy trataré de explicar algunos tipos de datos de este lenguaje, veremos como Erlang maneja los enteros, floats y booleanos. Manos a la obra!
Integers
Este tipo de dato se utiliza para todo el conjunto de numeros enteros sin importar su tamaño. Pueden ser negativos o positivos y estar expresados en distintas bases.
No posee una cantida de bits fija ni un rango específico de valores como en otros lenguajes, por lo tanto, podemos escribir números con la cantidad de cifras que querramos y operar entre ellas sin provocar overflow.
Esto se debe a que Erlang internamente, cuando un entero no se puede representar en una palabra, utiliza lo que se conoce como bignums, representando al entero en un número arbitrario de palabras haciendo su representación un poco menos eficiente. El único límite para el largo de los integers depende de la maquina.
Ejemplos
-4560 0 666 999999999999999
Ejemplos 2 con números en otra base
> 2#1011. > 11 > 16#A >10
Floats
Los tipos de datos Floats son usados para representar números Reales.
Ejemplos
> 1.02. 1.02 > 5698.12. 5698.12
Atoms
Los datos del tipo atoms son usados para representar valores constantes no-numéricos. En Erlang todos los Atoms son globales, comienzan con letra en minúsculas seguidos por una secuenca de carácteres alfanumericos, caracter underscore (_) o arrobas (@). Por ejemplo: junio, true, taza, mimail@dominio.com, etc.
Los Atoms también pueden estar delimitados por comillas simples cuando contienen caracteres no validos como espacios o que comiencen con mayúsculas. Por ejemplo ‘Diciembre’, ‘hoy es un lindo dia’, etc.
Algo a tener en cuenta es que las únicas operaciones que se pueden realizar con los Atoms en Erlang son las comparaciones.
Booleans
En Erlang no existen en si los tipos de datos booleanos, sino que son representados mediente los Atoms true y false. Estos son los valores que devuelven por ejemplo las comparaciones
1> 2 == 1 . false 2> a > z . false 3> less > more . false 4> is_boolean(true) . true
Existen otros tipos de datos como las tuplas, listas o strings pero lo veremos en más detalle en otro post.


